Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^2: SOAP::Lite headers

by eukiph (Novice)
on Jun 02, 2017 at 16:39 UTC ( [id://1191988]=note: print w/replies, xml ) Need Help??


in reply to Re: SOAP::Lite headers
in thread SOAP::Lite headers

Hello Thanos,
My script has been working for quite a while, co the version of SOAP::Lite it uses is 1.06 ...well, good point, i shall try a newer version and let you know whether the problem persists or not ;). (and copy/paste the script, if not)
Eukiph

Replies are listed 'Best First'.
Re^3: SOAP::Lite headers
by thanos1983 (Parson) on Jun 02, 2017 at 17:36 UTC

    Hello again,

    To update the module through CPAN is just cpan <module name>. It doesn't mean that this will solve your problem. There is a possibility that SOAP has been updated and requires a few new parameters and the current module that you are running has not been updated and not going to be. I. This case you need to search for a new more fresh module.

    Hope this helps to guide you to the correct direction.

    Seeking for Perl wisdom...on the process of learning...not there...yet!
      Hi,
      so I have updated SOAP::Lite to current version (1.20) and, suprise suprise, no miracles happened :).
      I am not sure its gonna help, but here is a part of the code I think is relevant.
      I think that I need to redefine some headers in the SOAP::Transport class?
      our $customer_wsdl = "http://172.26.9.168:18120/OELAdapterWebService"; our $customer_endpoint = "http://172.26.9.168:18120/OELAdapterWebS +ervice"; our $customer_soapenv = "http://schemas.xmlsoap.org/soap/envelope/" +; our $customer_oel = "http://xxx.com/OELAdapter"; our $customer_soapAction = "\"/OELAdapter/ProcessDefinitions/Productio +n/Services/OELAdapter/SoapOverHttp/OELAdapter.serviceagent//ProcessOr +derAsync\""; our $customer_soap = SOAP::Lite ->proxy($customer_wsdl) ->uri($customer_endpoint) ->readable(1) ->autotype(0) ->on_action(sub{$customer_soapAction;}); $customer_soap->serializer->register_ns($customer_soapenv, 'soapenv'); $customer_soap->serializer->register_ns($customer_oel, 'oel'); our $customer_result = $customer_soap->call( SOAP::Data->name('oel:ProcessOrderAsyncRequest') => ( SOAP::Data->name('oel:ExternalId' => '1234'), SOAP::Data->name('oel:IncomingOrderSource' => 'Selfcare'), SOAP::Data->name('oel:IncomingOrderDescription' => 'abcd'), SOAP::Data->name('oel:RequiredNotification' => 'false'), SOAP::Data->name('oel:IncomingOrder' => $order) ) );

        Googling the error message this seems that what your Java server decodes is some kind of object while you should send something that it decodes to a plain string.

        Maybe you can fix that by making your data types explicit with SOAP::Lite. Maybe the following is enough?

        SOAP::Data->name('oel:ProcessOrderAsyncRequest') => ( SOAP::Data->name('oel:ExternalId')->type('int', '1234'), SOAP::Data->name('oel:IncomingOrderSource')->type('string', 'S +elfcare'), SOAP::Data->name('oel:IncomingOrderDescription')->type('string +', 'abcd'), SOAP::Data->name('oel:RequiredNotification')->type('string', ' +false'), SOAP::Data->name('oel:IncomingOrder' => $order) )

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1191988]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (1)
As of 2024-04-26 02:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found