You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/12/01 05:10:21 UTC

[jira] Commented: (CXF-2559) Soap11FaultInInterceptor.unmarshalFault for valid SOAP message

    [ https://issues.apache.org/jira/browse/CXF-2559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12784041#action_12784041 ] 

Daniel Kulp commented on CXF-2559:
----------------------------------


That isn't a valid soap fault message.   The stacktrace element would need to be placed in a details element.

Also, the faultcode element cannot be empty.  Per the soap 1.1 spec:

The faultcode MUST be present in a SOAP Fault element and the faultcode value MUST be a qualified name 

Thus, the soap fault message is invalid.

> Soap11FaultInInterceptor.unmarshalFault for valid SOAP message
> --------------------------------------------------------------
>
>                 Key: CXF-2559
>                 URL: https://issues.apache.org/jira/browse/CXF-2559
>             Project: CXF
>          Issue Type: Bug
>          Components: Soap Binding
>    Affects Versions: 2.2.5
>            Reporter: Kees de Kooter
>
> I call a webservice which returns the following (fault) message:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <SOAP-ENV:Body>
>     <SOAP-ENV:Fault>
>       <faultstring>engine::exception: Can't call method "namespaceURI" on an undefined value at /var/www/html/XXXXX/package/engine/xml_utils.pm line 272.
> </faultstring>
>       <faultcode/>
>       <stacktrace>Session:eurogroup_ajCqNqED3rZakVOh, Time:2009-11-25 19:43:14, Version:2.0.76-370, Username:pharos
> /var/www/html/XXXXX/package/engine/exception.pm (53)
> - /var/www/html/XXXXX/package/engine/instanciable.pm(22):engine::exception::create
> - /var/www/html/XXXXX/package/engine/exception.pm(159):engine::instanciable::new
> - /var/www/html/XXXXX/package/engine.pm(788):engine::exception::getExceptionFromError
> - /var/www/html/XXXXX/package/engine.pm(786):(eval)
> - /var/www/html/XXXXX/cgi/rsoapserver.cgi(18):engine::end
> - /opt/rsl/usr/lib/perl5/vendor_perl/5.10.0/i686-linux-thread-multi/ModPerl/RegistryCooker.pm(204):ModPerl::ROOT::ModPerl::Registry::var_www_html_XXXXX_cgi_rsoapserver_2ecgi::handler
> - /opt/rsl/usr/lib/perl5/vendor_perl/5.10.0/i686-linux-thread-multi/ModPerl/RegistryCooker.pm(204):(eval)
> - /opt/rsl/usr/lib/perl5/vendor_perl/5.10.0/i686-linux-thread-multi/ModPerl/RegistryCooker.pm(170):ModPerl::RegistryCooker::run
> - /opt/rsl/usr/lib/perl5/vendor_perl/5.10.0/i686-linux-thread-multi/ModPerl/Registry.pm(31):ModPerl::RegistryCooker::default_handler
> - -e(0):ModPerl::Registry::handler
> - -e(0):(eval)
> </stacktrace>
>     </SOAP-ENV:Fault>
>   </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> {code}
> The message contains valid xml as far a I can tell. Still the following exception is thrown:
> {noformat}
> Caused by: com.ctc.wstx.exc.WstxParsingException: Received non-all-whitespace CHARACTERS or CDATA event in nextTag().
>  at [row,col {unknown-source}]: [21,0]
> 	at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:580)
> 	at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:453)
> 	at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:438)
> 	at com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1141)
> 	at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:57)
> 	at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46)
> 	at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:239)
> 	at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
> 	at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
> 	at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:239)
> 	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:671)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2205)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2084)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1982)
> 	at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
> 	at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188)
> 	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
> 	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:637)
> 	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:239)
> 	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:483)
> 	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:309)
> 	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:261)
> 	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> 	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
> 	... 25 more
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.