Subject: | Faults are broken |
Date: | Thu, 2 Jul 2020 11:14:38 +0200 |
To: | bug-SOAP-WSDL [...] rt.cpan.org |
From: | Marc0 <Marc0 [...] hidden-primary.net> |
Subject: | Faults are broken |
To: | bug-SOAP-WSDL [...] rt.cpan.org |
From: | Marc0 <Marc0 [...] hidden-primary.net> |
Hello,
the Fault11 serialization appears to be broken.
If I understood correctly the Fault object is expected in the
"http://schemas.xmlsoap.org/soap/envelope/" namespace of the envelope:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Thus the Fault element needs to be qualified by the given name, here
"SOAP-ENV":
<SOAP-ENV:Fault>...</SOAP-ENV:Fault>
Up to now the fault looks like this:
<Fault xmlns="http://schemas.xmlsoap.org/soap/envelope/">...
For a reason I haven't understood yet this appears to be wrong, it is
not accepted with several tools. e.g. XML::Compile or SoapUI, please see
the attachment soapui-invalid-fault.png.
The solution is to remove the xmlns attribute and to qualify the Fault
element with the namespace name of the envelope (see attachment
soapui-more-valid-fault.png).
I created a very ingenuous patch (invalid-fault.diff), and I am not too
convinced that I've done it right. I virtually used a hammer to rename
the Fault element by using the same prefix value being used somewhere
else, too.
I'll create a pull request and would be happy to improve my work if
someone could give a hint what to consider to be not as brutal as I've
been here.
--
Marc0
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.
Message body not shown because it is not plain text.