[Xml-compile] Callback returned element must use type not name
Robin V.
robinsp at gmail.com
Sun May 23 13:52:34 GMT 2010
Hi Mark,
I would have preferred to give an answer earlier, but I didn't find
the time to test this new version before.
I've just checked the 2.14 version and it is now correct and coherent
(the behavior of x:c:s is the same between explain() and the structure
the callback must return - and in fact, it's what I expected it to be
in the first place).
Now, this form:
{
CheckStatusAnswerInfo => [...],
Answer => [..],
AnswerExtension => {}
}
is much more natural than the previous one:
{
ProducerResponseEndpointStructure => [...],
CheckStatusResponseBodyStructure => [...],
ExtensionsStructure => {}
}
Those complex wsdls/schemas are a real nest of twisted/strange cases.
I wonder if anybody on the internet already thought to collect them
and use them for a regression test suite :).
Thanks again for the support!
Robin
PS: I switched back my experiments to java for web/jsf tests, I'll try
to make a test case with jax-ws returning a soap fault to check what
is the expected structure of the soap fault with my WSDL (a point that
was left unverified)
On Mon, May 17, 2010 at 1:19 PM, Mark Overmeer <solutions at overmeer.net> wrote:
>
> I have just released XML::Compile::SOAP 2.14. The problem is the
> other way around: explain() is right, but your code isn't.
>
> In most SOAP-RPC/type definitions in WSDLs, I saw the same name for
> the part as for the data structure. So, I did not see that the code
> was actually wrongly taking the type name where it should have been
> the part name. That must be corrected, for instance because there
> can be multiple parts using the same type.
>
> Sorry for the inconvenience of this interface breaking change.
>
> * Robin V. (robinsp at gmail.com) [100426 20:05]:
>> I upgraded xml::compile and xml::comile::soap and checked the (maybe
>> experimental?) WSDL->explain method.
>> For a given callback, this "explain" method prints that the returned
>> element should look like this:
>>
>> sub handle_CheckStatus($)
>> # Part type {http://www.siri.org.uk/siri}ProducerResponseEndpointStructure
>> my $CheckStatusAnswerInfo = {};
>>
>> But in fact, I must use a hash like this for the callback to return data:
>> ProducerResponseEndpointStructure => XXX
>
>> There seems to be a mixup between type and name of the parameters.
> --
> 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