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

how the vector is created, how to pass vector to webservices method apachesoap:V

Expand Messages
  • Rushi
    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
    • 0 Attachment
      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

      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.
    Your message has been successfully submitted and would be delivered to recipients shortly.