[Xml-compile] Broken RPC/Literal support

Mark Overmeer mark at overmeer.net
Sat Apr 4 22:24:48 GMT 2009


* Daniel Ruoso (daniel at ruoso.com) [090404 21:48]:
> But XML::Compile is, instead of using the name of the operation as the
> wrapper, taking the name of the message associated with that operation.

Shouldn't do that. I'll investigate it Monday.  I expect it to be
a minor change in XML::Compile::SOAP11::Operation or ::Client

> I understand some of you might be thinking that I should be using the
> SOAPAction header instead, but contrary to general belief, the
> SOAPAction attribute is not mandatory and is HTTP-specific

Yes, only to be used by proxy's and firewalls, not by SOAP itself.

> I've made a hack for that to work before, and already mentioned at that
> time (I don't remeber where, maybe in a private mail to markov) how this
> hack was working.

The rewrite on RPC was far bigger than your patch could survive.  But...
I do lack good regression tests for this.

> And when XML::Compile::SOAP was upgraded, that hack
> stopped working (it's a hack after all), because the options "rpcin" and
> "rpcout" no longer exist in the method compileClient for the operation
> returned by the WSDL.

In X::C::SOAP 1.*, you had to do you RPC message construction yourself.
In 2.*, you do not need that anymore: it behaves like document SOAP, as
you described me.  So: no rpcin/rpcout tricks needed.

> XML::Compile::SOAP::Client documentation mentions
> "encode" and "decode" options, but they are not used by compileClient.

Thos are the XML message encoding and decoding main wrappers.  But to
solve your problem, we have to change only some components.
-- 
Regards,
               MarkOv

------------------------------------------------------------------------
       Mark Overmeer MSc                                MARKOV Solutions
       Mark at Overmeer.net                          solutions at overmeer.net
http://Mark.Overmeer.net                   http://solutions.overmeer.net




More information about the Xml-compile mailing list