Loading ...
Sorry, an error occurred while loading the content.

SOAP::Data type for Java class

Expand Messages
  • sheikmohamed7
    Hi Guys, I am calling the webservice with the method updateStatus().This is webservice wsdl - -
    Message 1 of 1 , Nov 26, 2004
    View Source
    • 0 Attachment
      Hi Guys,

      I am calling the webservice with the method updateStatus().This is
      webservice wsdl

      -
      <s:complexType name="StatusArray">
      -
      <s:sequence>
      <s:element maxOccurs="1" minOccurs="1" name="statusArray"
      type="tns:ArrayOfStatus"/>
      </s:sequence>
      </s:complexType>
      -
      <s:complexType name="ArrayOfStatus">
      -
      <s:complexContent mixed="false">
      -
      <s:restriction base="soapenc:Array">
      <s:attribute ref="soapenc:arrayType" wsdl:arrayType="tns:Status[]"/>
      </s:restriction>
      </s:complexContent>
      </s:complexType>
      -
      <s:complexType name="Status">
      -
      <s:sequence>
      <s:element maxOccurs="1" minOccurs="1" name="yrdkey" type="s:string"/>
      <s:element maxOccurs="1" minOccurs="1" name="ywdkey" type="s:string"/>
      <s:element maxOccurs="1" minOccurs="1" name="ysmkey" type="s:string"/>
      <s:element maxOccurs="1" minOccurs="1" name="statusid" type="s:string"/>
      <s:element maxOccurs="1" minOccurs="1" name="statusdesc" type="s:string"/>
      </s:sequence>
      </s:complexType>
      -
      <s:complexType name="ResultArray">
      -
      <s:sequence>
      <s:element maxOccurs="1" minOccurs="1" name="resultArray"
      type="tns:ArrayOfResult"/>
      </s:sequence>
      </s:complexType>
      -
      <s:complexType name="ArrayOfResult">
      -
      <s:complexContent mixed="false">
      -
      <s:restriction base="soapenc:Array">
      <s:attribute ref="soapenc:arrayType" wsdl:arrayType="tns:Result[]"/>
      </s:restriction>
      </s:complexContent>
      </s:complexType>
      -
      <s:complexType name="Result">
      -
      <s:sequence>
      <s:element maxOccurs="1" minOccurs="1" name="yrdkey" type="s:string"/>
      <s:element maxOccurs="1" minOccurs="1" name="statusid" type="s:string"/>
      <s:element maxOccurs="1" minOccurs="1" name="statusdesc" type="s:string"/>
      </s:sequence>
      </s:complexType>
      </s:schema>
      </wsdl:types>
      -
      <wsdl:message name="updateStatusSoapOut">
      <wsdl:part name="updateStatusResult" type="tns:ResultArray"/>
      </wsdl:message>
      -
      <wsdl:message name="getYieldByWebsiteIdSoapIn">
      <wsdl:part name="websiteId" type="s:string"/>
      </wsdl:message>
      -
      <wsdl:message name="getYieldByWebsiteIdSoapOut">
      <wsdl:part name="getYieldByWebsiteIdResult" type="tns:InventoryArray"/>
      </wsdl:message>
      -
      <wsdl:message name="updateStatusSoapIn">
      <wsdl:part name="statusArray" type="tns:StatusArray"/>
      </wsdl:message>
      -
      <wsdl:portType name="InventoryNetEndpointSoap">
      -
      <wsdl:operation name="getYieldByWebsiteId">
      <wsdl:input message="tns:getYieldByWebsiteIdSoapIn"/>
      <wsdl:output message="tns:getYieldByWebsiteIdSoapOut"/>
      </wsdl:operation>
      -
      <wsdl:operation name="updateStatus">
      <wsdl:input message="tns:updateStatusSoapIn"/>
      <wsdl:output message="tns:updateStatusSoapOut"/>
      </wsdl:operation>
      </wsdl:portType>
      -
      <wsdl:binding name="InventoryNetEndpointSoap"
      type="tns:InventoryNetEndpointSoap">
      <soap:binding style="rpc"
      transport="http://schemas.xmlsoap.org/soap/http"/>
      -
      <wsdl:operation name="getYieldByWebsiteId">
      <soap:operation
      soapAction="http://yield.ezyield.org/getYieldByWebsiteId" style="rpc"/>
      -
      <wsdl:input>
      <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      namespace="http://yield.ezyield.org" use="encoded"/>
      </wsdl:input>
      -
      <wsdl:output>
      <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      namespace="http://yield.ezyield.org" use="encoded"/>
      </wsdl:output>
      </wsdl:operation>
      -
      <wsdl:operation name="updateStatus">
      <soap:operation soapAction="http://yield.ezyield.org/updateStatus"
      style="rpc"/>
      -
      <wsdl:input>
      <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      namespace="http://yield.ezyield.org" use="encoded"/>
      </wsdl:input>
      -
      <wsdl:output>
      <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      namespace="http://yield.ezyield.org" use="encoded"/>
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
      -
      <wsdl:service name="InventoryNetEndpoint">
      <documentation/>
      -
      <wsdl:port binding="tns:InventoryNetEndpointSoap"
      name="InventoryNetEndpointSoap">
      <soap:address location="http://192.10.10.72:8080/inventorynet/"/>
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>

      This is Java webservice ,I am calling updateStatus of this webservice
      Method


      The Java Class is needed for this method as parameter


      the Java Class type is

      class Status {
      String ysmkey;
      String ywdkey,
      String yrdkey;
      String statusId;
      String statusdesc;
      }
      class StatusArray {
      Status Status[];
      }

      I am in need to pass the StatusArray as parameter in perl.Please help
      me to form the StatusArray class in Perl to pass as parameter to Java
      Webservice.

      I am trying by using SOAP::Data type.But in many ways ,That results
      Bad data tyes.


      This is SOAP Request I am sending

      <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
      xmlns:namesp2="http://yield.ezyield.org"
      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
      xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xsd="http://www.w3.org/1999/XMLSchema"
      xmlns:namesp1="http://namespaces.soaplite.com/perl"><SOAP-ENV:Body><updateStatus
      xmlns="http://yield.ezyield.org"><StatusArray
      SOAP-ENC:arrayType="namesp1:Status[1]"
      xsi:type="namesp2:StatusArray"><item xsi:type="namesp1:Status"><yrdkey
      xsi:type="xsd:string">3567 </yrdkey><ywdkey xsi:type="xsd:string">1002
      </ywdkey><ysmkey xsi:type="xsd:string">1000 </ysmkey><statusid
      xsi:type="xsd:string">80 </statusid><statusdesc
      xsi:type="xsd:string">Success</statusdesc></item></StatusArray></updateStatus></SOAP-ENV:Body></SOAP-ENV:Envelope>



      Thank you in advance.
    Your message has been successfully submitted and would be delivered to recipients shortly.