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

how the vector is created, how to pass vector to webservices method

Expand Messages
  • Rushikesh Joshi
    I am having problem to work with soaplite with hash & vector type Below is input parameter of my Web Services method vectorTest -
    Message 1 of 1 , Jul 10, 2004
      I am having problem to work with soaplite with hash & vector type
      Below is input parameter of my Web Services method vectorTest
      - <wsdl:message name="vectorTestRequest">
        <wsdl:part name="userName" type="xsd:string" />
        <wsdl:part name="password" type="xsd:string" />
        <wsdl:part name="role" type="xsd:string" />
        <wsdl:part name="langpref" type="xsd:string" />
        <wsdl:part name="parentid" type="xsd:int" />
        <wsdl:part name="vectorParam" type="apachesoap:Vector" />
      Now just look on it the 6th parameter is Vector (apachesoap:Vector).
      Now how can i pass a vector (vec) from perl to my RPC Server.
      If i want to passs 'a','b','c','d' in vector how can i create a vector
      in perl. See below is my passing function
      my $vectorTest =
      If i passing $vector in different way using Map, Array, Hash i am
      receiving follwoign error using my XMLDebugger
      <!-- XML Dump -->
      POST /anacreon/servlet/rpcrouter HTTP/1.0
      Accept: text/xml
      Accept: multipart/*
      Host: MySite:ServicePORT
      User-Agent: SOAP::Lite/Perl/0.50
      Content-Length: 967
      Content-Type: text/xml; charset=utf-8
      SOAPAction: ""
      <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
      <userName xsi:type="xsd:string">rushi_asi\@...</userName>
      <password xsi:type="xsd:string">rrrrr</password>
      <role xsi:type="xsd:string">india</role>
      <langpref xsi:type="xsd:string">en</langpref>
      <parentid xsi:type="xsd:int">1</parentid>
      <vectorParam SOAP-ENC:arrayType="xsd:string[4]"
      <item xsi:type="xsd:string">a</item>
      <item xsi:type="xsd:string">b</item>
      <item xsi:type="xsd:string">c</item>
      <item xsi:type="xsd:string">d</item>
      </namesp1:vectorTest></SOAP-ENV:Body></SOAP-ENV:Envelope>HTTP/1.0 500
      Internal Server Error
      Server: Resin/2.1.11
      Content-Type: text/xml; charset=utf-8
      Date: Fri, 09 Jul 2004 10:09:30 GMT
      <?xml version="1.0" encoding="UTF-8"?>
      <faultstring>org.xml.sax.SAXException: No deserializer defined for
      array type {http://www.w3.org/1999/XMLSchema}string</faultstring>
      <!-- END OF XML Dump -->
      2nd Propblem ----------------------------------------------------
      In more i also have small problem in case ofr hashTest see below code
          # Userdefine Structure
          struct( mymap => {
              param => '$'  # user time used
          # create an object:
          my $myHash = mymap->new(param=>'9999'
      my $hashTest = $service->hashtableTest("rushi_asi\@...","rrrr","india","en",1,$myHash);
      Now after passing the hash using my userdefine structure i m getting success but in XML Log i recevied unexpected
      mymap::param i need param insted of mymap::param
      <hashtableParam xsi:type="xmlsoap:Map">
      <key xsi:type="xsd:string">mymap::param
      <value xsi:type="xsd:int">9999
      </SOAP-ENV:Envelope>HTTP/1.0 200 OK

      Your help will be great appreciate
      Thanks in advance.

      Do You Yahoo!?
      Tired of spam? Yahoo! Mail has the best spam protection around

    Your message has been successfully submitted and would be delivered to recipients shortly.