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

array serialisation

Expand Messages
  • psinno
    I am trying to access a transaction that returns an array of objects. The transaction is written in java and runs under weblogic. When I try to get the result
    Message 1 of 1 , Oct 20, 2005
      I am trying to access a transaction that returns an array of objects.
      The transaction is written in java and runs under weblogic.

      When I try to get the result

      my $res = $soap->call( $op => @soapvalues );
      print Dumper($res->result());

      I am getting an empty string.

      If I use stubmaker it gets a little closer

      psinnott@migo:~$ perl -e'use ServiceBeanV1_0;use Data::Dumper;print
      Dumper(ServiceBeanV1_0::getsomething(1,2));'
      $VAR1 = '';
      $VAR2 = '';
      $VAR3 = [
      bless( {
      'count' => '10',
      'recordtype' => 'P'
      }, 'GoodStandingEventCountRecord' ),
      bless( {
      'count' => '5',
      'recordtype' => 'Q'
      }, 'GoodStandingEventCountRecord' )
      ];

      Does anyone know how I can coax SOAP::Lite directly or stubmaker to
      return the correct data structure?

      This is the xml weblogic is returning

      <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">

      <env:Header/>

      <env:Body
      env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

      <m:getGoodStandingEventCountResponse
      xmlns:m="http://www.aol.com/aol-bt-euarservice-V1_0/webservice">
      <GoodStandingEventCountRecord/>
      <GoodStandingEventCountRecord/>
      <result xmlns:n1="java:com.aol.euarservice"
      soapenc:arrayType="n1:GoodStandingEventCountRecord[2]">
      <n1:GoodStandingEventCountRecord>
      <recordtype xsi:type="xsd:string">
      P
      </recordtype>
      <count xsi:type="xsd:int">
      10
      </count>
      </n1:GoodStandingEventCountRecord>
      <n1:GoodStandingEventCountRecord>
      <recordtype xsi:type="xsd:string">
      Q
      </recordtype>
      <count xsi:type="xsd:int">
      5
      </count>
      </n1:GoodStandingEventCountRecord>
      </result>
      </m:getGoodStandingEventCountResponse>
      </env:Body>
      </env:Envelope>
    Your message has been successfully submitted and would be delivered to recipients shortly.