[Xml-compile] Regarding SOAP 1.2 faultNotImplemented handling

Mark Overmeer solutions at overmeer.net
Wed Aug 8 13:38:33 GMT 2018


Hi Sheeju,

Back from holidays, so I can answer your question at last.

* Sheeju Alex (sheejuec7 at gmail.com) [180725 09:04]:
  [...]
> This perfectly works fine for SOAP 1.1 and I get faultNotImplemented
> response when I call `subtract` SOAP Action but for SOAP 1.2 I get below
> error
> 
> ```
> error: QName formatting only works if the namespace is used for an element,
> not found http://perl.org/xml-schemas/xml-compile-daemon/1.0 for
> notImplemented
> ```

When I am not mistaken, this means that there is no prefix defined
for the namespace XC_DAEMON_NS.  Just before
  $daemon->operationsFromWSDL(...)
try adding

  use XML::Compile::SOAP::Util   qw/XC_DAEMON_NS/;
  $daemon->addPrefix(xcd => XC_DAEMON_NS);

> After debuging I have found a fix to this error so that for SOAP 1.2 it
> work fine, I just had to replace XC_DAEMON_NS to SOAP12ENV for all the
> faultHandlers in module XML::Compile::SOAP12::Server.

That's an incorrect fix.  The errors which are produced are not part of
the SOAP 1.2 specification... one is not allowed to add things to a 
namespace which one does not own.

If above fix works, I will have a better fix.
-- 
               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