C#Web Service Asmx soapui请求为空

时间:2018-11-21 15:46:48

标签: c# soapui asmx

我已经使用Visual Studio制作了c# Web Service。我有一个叫WebMethod的{​​{1}}

它收到一个类Parameter。我从SoapUI调用它

这就是从SoapUI获得的方式。

HelloWorld

这是我的Web方法及其作为参数接收的类

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:HelloWorld>
         <!--Optional:-->
         <tem:Request>
            <!--Optional:-->
            <tem:BGBAHEADER>
               <!--Optional:-->
               <tem:Identificadores>
                  <!--Optional:-->
                  <tem:IdMensaje idEsquema="?"/>
                  <!--Optional:-->
                  <tem:IdMensajeAnterior idEsquema="?"/>
                  <!--Optional:-->
                  <tem:IdOperacion idEsquema="?"/>
               </tem:Identificadores>
               <!--Optional:-->
               <tem:ModuloAplicativo>
                  <!--Optional:-->
                  <tem:IdGalicia>?</tem:IdGalicia>
                  <!--Optional:-->
                  <tem:IdConsumidor>?</tem:IdConsumidor>
                  <!--Optional:-->
                  <tem:IdProveedor>?</tem:IdProveedor>
               </tem:ModuloAplicativo>
               <!--Optional:-->
               <tem:Equipo ip="?" nombre="?"/>
               <!--Optional:-->
               <tem:Origen>
                  <!--Optional:-->
                  <tem:ModuloAplicativo>
                     <!--Optional:-->
                     <tem:IdGalicia>?</tem:IdGalicia>
                     <!--Optional:-->
                     <tem:IdConsumidor>?</tem:IdConsumidor>
                     <!--Optional:-->
                     <tem:IdProveedor>?</tem:IdProveedor>
                  </tem:ModuloAplicativo>
                  <!--Optional:-->
                  <tem:Canal>?</tem:Canal>
                  <!--Optional:-->
                  <tem:OrganizacionInterna tipo="?" id="?"/>
                  <!--Optional:-->
                  <tem:Equipo ip="?" nombre="?"/>
                  <!--Optional:-->
                  <tem:Terminal>?</tem:Terminal>
                  <tem:FechaHoraCreacion>?</tem:FechaHoraCreacion>
                  <!--Optional:-->
                  <tem:IdCliente idEsquema="?"/>
                  <!--Optional:-->
                  <tem:Operador idEsquema="?"/>
                  <!--Optional:-->
                  <tem:Supervision>?</tem:Supervision>
               </tem:Origen>
            </tem:BGBAHEADER>
            <!--Zero or more repetitions:-->
            <tem:Especie>
               <!--Optional:-->
               <tem:CodigosEspecie>
                  <!--Optional:-->
                  <tem:CodigoCV>?</tem:CodigoCV>
                  <!--Optional:-->
                  <tem:AliasFinanciera>?</tem:AliasFinanciera>
               </tem:CodigosEspecie>
               <!--Optional:-->
               <tem:Mercado>?</tem:Mercado>
               <!--Optional:-->
               <tem:Plazo>?</tem:Plazo>
               <!--Optional:-->
               <tem:CodigoDivisa>?</tem:CodigoDivisa>
            </tem:Especie>
         </tem:Request>
      </tem:HelloWorld>
   </soapenv:Body>
</soapenv:Envelope>

看起来不错。 它确切地显示了我想要的...

问题是我收到此错误。

 [WebMethod]
        public string HelloWorld(Request Request)
        {
            return "Hola ";
        }
        
    public class Request
    {
        [XmlElement(ElementName = "BGBAHEADER")]
        public BGBAHEADER BGBAHEADER { get; set; }
        [XmlElement(ElementName = "Especie")]
        public List<Especie> Especie { get; set; }
    }

如果我使用其他名称<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <soap:Fault> <faultcode>soap:Client</faultcode> <faultstring>System.Web.Services.Protocols.SoapException: El servidor no puede leer la solicitud. ---> System.InvalidOperationException: Error en el documento XML (43, 53). ---> System.FormatException: La cadena de entrada no tiene el formato correcto. en System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer&amp; number, NumberFormatInfo info, Boolean parseDecimal) en System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) en Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read8_OrganizacionInterna(Boolean isNullable, Boolean checkType) en Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read11_Origen(Boolean isNullable, Boolean checkType) en Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read12_BGBAHEADER(Boolean isNullable, Boolean checkType) en Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read15_Request(Boolean isNullable, Boolean checkType) en Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read16_HelloWorld() en Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer.Deserialize(XmlSerializationReader reader) en System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) --- Fin del seguimiento de la pila de la excepción interna --- en System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) en System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() --- Fin del seguimiento de la pila de la excepción interna --- en System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() en System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()</faultstring> <detail/> </soap:Fault> </soap:Body> </soap:Envelope>更改了标签<tem:BGBAHEADER>,则该标签可以正常运行,但是<tem:bgbaheader>收到的参数为空

我想念什么?为什么它不接受此标签?

谢谢

0 个答案:

没有答案
相关问题