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 2017/06/20 19:52:00 UTC

[jira] [Resolved] (CXF-7379) Soap11FaultInInterceptor.unmarshalFault for valid SOAP message

     [ https://issues.apache.org/jira/browse/CXF-7379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-7379.
------------------------------
       Resolution: Invalid
         Assignee: Daniel Kulp
    Fix Version/s: Invalid

The SOAP/xml clearly shows that this is a Fault.  Per spec, Faults are mapped to exceptions.  This is working as designed.

> Soap11FaultInInterceptor.unmarshalFault for valid SOAP message
> --------------------------------------------------------------
>
>                 Key: CXF-7379
>                 URL: https://issues.apache.org/jira/browse/CXF-7379
>             Project: CXF
>          Issue Type: Bug
>          Components: Soap Binding
>            Reporter: Rajesh Ranjan
>            Assignee: Daniel Kulp
>            Priority: Blocker
>             Fix For: Invalid
>
>
> I call a webservice which returns the following message:
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wfiss60xsd="http://ws.arcot.com/WebFortIssuanceAPI/6.2/xsd" xmlns:wfauth60xsd="http://ws.arcot.com/WebFortAuthAPI/6.0/xsd" xmlns:wfauth50soap11="http://schemas.arcot.com/webfort/v1/ArcotWebFortWebServiceSOAP11Binding" xmlns:wfauth50types="http://schemas.arcot.com/webfort/v1/types" xmlns:wfauth50soap12="http://schemas.arcot.com/webfort/v1/ArcotWebFortWebServiceSOAP12Binding" xmlns:wfauth60soap11="http://ws.arcot.com/WebFortAuthAPI/6.0/wsdl/AuthAPISOAP11Binding" xmlns:wfauth60msgs="http://ws.arcot.com/WebFortAuthAPI/6.0/msgs" xmlns:wfauth60soap12="http://ws.arcot.com/WebFortAuthAPI/6.0/wsdl/AuthAPISOAP12Binding" xmlns:wfautha541soap11="http://schemas.arcot.com/webfort/v2/AuthAccessorServiceSOAP11Binding" xmlns:wfautha541soap12="http://schemas.arcot.com/webfort/v2/AuthAccessorServiceSOAP12Binding" xmlns:wfauthx541soap11="http://schemas.arcot.com/webfort/v2/AuthXActionServiceSOAP11Binding" xmlns:wfauth541types="http://schemas.arcot.com/webfort/v2/types" xmlns:wfauthx541soap12="http://schemas.arcot.com/webfort/v2/AuthXActionServiceSOAP12Binding" xmlns:wfiss50soap11="http://schemas.arcot.com/regfort/v1/RegFortAPISOAP11Binding" xmlns:wfiss50types="http://schemas.arcot.com/regfort/v1/types" xmlns:wfiss50soap12="http://schemas.arcot.com/regfort/v1/RegFortAPISOAP12Binding" xmlns:wfiss541soap11="http://schemas.arcot.com/regfort/v2/RegFortAPISOAP11Binding" xmlns:wfiss541types="http://schemas.arcot.com/regfort/v2/types" xmlns:wfiss541soap12="http://schemas.arcot.com/regfort/v2/RegFortAPISOAP12Binding" xmlns:wfiss60msgs="http://ws.arcot.com/WebFortIssuanceAPI/6.2/msgs" xmlns:wfiss60soap11="http://ws.arcot.com/WebFortIssuanceAPI/6.0/wsdl/IssuanceAPISOAP11Binding" xmlns:wfiss60soap12="http://ws.arcot.com/WebFortIssuanceAPI/6.0/wsdl/IssuanceAPISOAP12Binding">
>    <SOAP-ENV:Header/>
>    <SOAP-ENV:Body>
>       <SOAP-ENV:Fault>
>          <faultcode>SOAP-ENV:Client</faultcode>
>          <faultstring>WebFortIssuanceFault</faultstring>
>          <detail>
>             <wfiss60msgs:WebFortIssuanceFault>
>                <wfiss60xsd:message>The credential was not found for the user ( ARCOT007 ).</wfiss60xsd:message>
>                <wfiss60xsd:reasonCode>0</wfiss60xsd:reasonCode>
>                <wfiss60xsd:responseCode>5800</wfiss60xsd:responseCode>
>                <wfiss60xsd:transactionID>19435</wfiss60xsd:transactionID>
>                <wfiss60xsd:additionalOutput/>
>                <wfiss60msgs:credType>0</wfiss60msgs:credType>
>             </wfiss60msgs:WebFortIssuanceFault>
>          </detail>
>       </SOAP-ENV:Fault>
>    </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> The message contains valid xml as far a I can tell because SOAP UI Tool able to display . Still the following exception is thrown:
> javax.xml.ws.soap.SOAPFaultException: WebFortIssuanceFault
> 	at org.apache.cxf.jaxws.DispatchImpl.mapException(DispatchImpl.java:287)
> 	at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:388)
> 	at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:243)
> and below Exception  .........
> Caused by: org.apache.cxf.binding.soap.SoapFault: WebFortIssuanceFault
> 	at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:84)
> 	at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:51)
> 	at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:40)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
> 	at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
> 	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:272)
> 	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:835)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1606)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1502)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1309)
> 	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
> 	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
> 	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
> 	at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)
> 	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)
> 	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)
> 	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
> 	at org.apache.cxf.endpoint.ClientImpl.invokeWrapped(ClientImpl.java:365)
> 	at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:381)
> 	... 57 more



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)