none
Web Service - Problema al generar WSDL RRS feed

  • Pregunta

  • Hola, les escribo porque estoy teniendo un problema al generar el WSDL de un Web Service sobre el cual estoy haciendo unas modificaciones.
    Básicamente, en uno de los elementos del XML (el elemento "ShipmentDetail") no se están detallando los elementos que este contiene. A continuación les muestro lo que sale por pantalla al consultar el método del Web Service mediante su URL:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <virtualPicking xmlns="http://www.pagina.com.ar/paginaws">
          <Shipments>
            <Picking>
              <Header>
                <ShipmentNumber>long</ShipmentNumber>
                <NetworkID>string</NetworkID>
                <NetworkDescription>string</NetworkDescription>
                <CustomerName>string</CustomerName>
                <WharehouseID>int</WharehouseID>
                <Destination>string</Destination>
                <BranchID>string</BranchID>
              </Header>
              <Details>
                <ShipmentDetail xsi:nil="true" />
                <ShipmentDetail xsi:nil="true" />
              </Details>

              <Footer>
                <DetailTotal>long</DetailTotal>
                <IsVIP>boolean</IsVIP>
              </Footer>
            </Picking>
            <Picking>
              <Header>
                <ShipmentNumber>long</ShipmentNumber>
                <NetworkID>string</NetworkID>
                <NetworkDescription>string</NetworkDescription>
                <CustomerName>string</CustomerName>
                <WharehouseID>int</WharehouseID>
                <Destination>string</Destination>
                <BranchID>string</BranchID>
              </Header>
              <Details>
                <ShipmentDetail xsi:nil="true" />
                <ShipmentDetail xsi:nil="true" />
              </Details>
              <Footer>
                <DetailTotal>long</DetailTotal>
                <IsVIP>boolean</IsVIP>
              </Footer>
            </Picking>
          </Shipments>
        </virtualPicking>
      </soap:Body>
    </soap:Envelope>

    Cuando en realidad el detalle del elemento "Details" debería ser el siguiente:

    ...
            <Details>
              <ShipmentDetail>
               
    <Model>string</Model>
                <IMEI>string</IMEI>
                <Quantity>long</Quantity>
              </ShipmentDetail>
              <ShipmentDetail>
                <Model>string</Model>
                <IMEI>string</IMEI>
                <Quantity>long</Quantity>
              </ShipmentDetail>

            </Details>
    ...

    Otro dato adicional que adjunto a la consulta es una parte del WSDL generado para el Web Service:

    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.pagina.com.ar/paginaws" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.pagina.com.ar/paginaws" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
      <wsdl:types>
        <s:schema elementFormDefault="qualified" targetNamespace="http://www.pagina.com.ar/paginaws">
          <s:element name="virtualPicking">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="Shipments" type="tns:ArrayOfPicking" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:complexType name="ArrayOfPicking">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Picking" nillable="true" type="tns:Picking" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="Picking">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Header" type="tns:ShipmentHeader" />
              <s:element minOccurs="0" maxOccurs="1" name="Details" type="tns:ArrayOfShipmentDetail" />
              <s:element minOccurs="0" maxOccurs="1" name="Footer" type="tns:ShipmentFooter" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ShipmentHeader">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="ShipmentNumber" type="s:long" />
              <s:element minOccurs="0" maxOccurs="1" name="NetworkID" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="NetworkDescription" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="CustomerName" type="s:string" />
              <s:element minOccurs="1" maxOccurs="1" name="WharehouseID" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" name="Destination" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="BranchID" type="s:string" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ArrayOfShipmentDetail">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="ShipmentDetail" nillable="true" type="tns:ShipmentDetail" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ShipmentDetail">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Model" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="IMEI" type="s:string" />
              <s:element minOccurs="1" maxOccurs="1" name="Quantity" type="s:long" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ShipmentFooter">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="DetailTotal" type="s:long" />
              <s:element minOccurs="1" maxOccurs="1" name="IsVIP" type="s:boolean" />
            </s:sequence>
          </s:complexType>
    ...


    Espero que toda esta información les sea útil para que me puedan ayudar.

    Desde ya, les agradezco por lo que puedan aportar.

    Saludos,

    Alejandro.
    miércoles, 20 de enero de 2010 12:49