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

using data structures in PERL SOAP::Lite calling sequence

Expand Messages
  • smsless
    I am new to SOAP::Lite within PERL and need this to access a data repository. However, access to this repository is using a function call
    Message 1 of 2 , Mar 19, 2010
    • 0 Attachment
      I am new to SOAP::Lite within PERL and need this to access a data repository. However, access to this repository is using a function call (findGtypeByGroupList) that takes a data structure as an argument.

      Below is the Java expansion of the function call. What I need is how to set this function call up using PERL SOAP::Lite.

      <soapenv: Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gtype="urn:webservice.os/abcService" xmlns:java="java:os.webservice.criteria">
      <soapenv:Header/>
      <soapenv:Body>
      <gtype:findGtypeByGroupList>
      <gtype:GtypeListCriteria>
      <java:Gtype>
      <java:Mtype>123</java:Mtype>
      <java:AsOf>03-16-2010</java:AsOf>
      </java:Gtype>
      <java:Page>
      <java:Start>0</java:Start>
      <java:Limit>10000</java:Limit>
      </java:Page>
      <java:Audit>
      <java:SysFrom>PV_Sys</java:SysFrom>
      </java:Audit>
      </gtype:GtypeListCriteria>
      </gtype:findGtypeByGroupList>
      </soapenv:Body>
      </soapenv:Envelope>
    • Martin Busik
      Hi, ... You need to look for complexType , one possible way is: $proxy- call( qtype:findGtypeByGroupList , SOAP::Data- name( qtype:GtypeListCriteria )- value(
      Message 2 of 2 , Mar 27, 2010
      • 0 Attachment
        Hi,

        > I am new to SOAP::Lite within PERL and need this to access a
        > data repository. However, access to this repository is using
        > a function call (findGtypeByGroupList) that takes a data
        > structure as an argument.
        >
        > <soapenv:Body>
        > <gtype:findGtypeByGroupList>
        > <gtype:GtypeListCriteria>
        > <java:Gtype>
        > <java:Mtype>123</java:Mtype>
        > <java:AsOf>03-16-2010</java:AsOf>
        > </java:Gtype>
        > <java:Page>
        > <java:Start>0</java:Start>
        > <java:Limit>10000</java:Limit>
        > </java:Page>
        > <java:Audit>
        > <java:SysFrom>PV_Sys</java:SysFrom>
        > </java:Audit>
        > </gtype:GtypeListCriteria>
        > </gtype:findGtypeByGroupList>
        > </soapenv:Body>
        > </soapenv:Envelope>

        You need to look for "complexType", one possible way is:

        $proxy->call("qtype:findGtypeByGroupList",
        SOAP::Data->name("qtype:GtypeListCriteria")->value( \SOAP::Data->value(
        SOAP::Data->name("java:Gtype")->value( \SOAP::Data-value(
        SOAP::Data->name("java:Mtype")->value(123),
        SOAP::Data->name("java:AsOf")->value(03-16-2010)
        )
        )
        ...

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