Using the cxf-codegen-plugin (version 2.7.3), I have generated client
ports/proxies for a SOAP service. When the SOAP service returns a successful
response everything works fine. However, when the SOAP service returns a
fault, it seems that CXF is not able to convert the SOAP fault in the
correct auto-generated exception. Here is the stack trace for such an even:
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://entitlement.identity.carbon.wso2.org}EntitlementService from WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/EntitlementService.wsdl
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://service.ws.um.carbon.wso2.org}RemoteUserStoreManagerService from
WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/RemoteUserStoreManagerService.wsdl
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://authentication.services.core.carbon.wso2.org}AuthenticationAdmin
from WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/AuthenticationAdmin.wsdl
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://entitlement.identity.carbon.wso2.org}EntitlementService from WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/EntitlementService.wsdl
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://service.ws.um.carbon.wso2.org}RemoteUserStoreManagerService from
WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/RemoteUserStoreManagerService.wsdl
[ main] PhaseInterceptorChain WARN
Interceptor for
{http://entitlement.identity.carbon.wso2.org}EntitlementService#{http://entitlement.identity.carbon.wso2.org}getDecision
has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unexpected wrapper element
{http://org.apache.axis2/xsd}EntitlementServiceException found. Expected
{http://org.apache.axis2/xsd}getDecisionResponse.
at
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:99)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:800)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1592)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1490)
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:622)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:133)
at com.sun.proxy.$Proxy32.getDecision(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
com.ge.dsp.wso2.client.Wso2IdentityServerClientImpl.makeRemoteEntitlementServiceCall(Wso2IdentityServerClientImpl.java:506)
at
com.ge.dsp.wso2.client.Wso2IdentityServerClientImpl.authorize(Wso2IdentityServerClientImpl.java:214)
at com.ge.dsp.pdp.wso2.StandaloneTest.main(StandaloneTest.java:167)
[ main] AbstractResourceHelper WARN
Missing resource key=wso2isclient.internalServiceImplFailure
I'm wondering if I am missing a property or interceptor that is causing CXF
to choke when trying to convert the SOAP fault into a Java exception.
Please help.
ports/proxies for a SOAP service. When the SOAP service returns a successful
response everything works fine. However, when the SOAP service returns a
fault, it seems that CXF is not able to convert the SOAP fault in the
correct auto-generated exception. Here is the stack trace for such an even:
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://entitlement.identity.carbon.wso2.org}EntitlementService from WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/EntitlementService.wsdl
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://service.ws.um.carbon.wso2.org}RemoteUserStoreManagerService from
WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/RemoteUserStoreManagerService.wsdl
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://authentication.services.core.carbon.wso2.org}AuthenticationAdmin
from WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/AuthenticationAdmin.wsdl
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://entitlement.identity.carbon.wso2.org}EntitlementService from WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/EntitlementService.wsdl
[ main] ReflectionServiceFactoryBean INFO
Creating Service
{http://service.ws.um.carbon.wso2.org}RemoteUserStoreManagerService from
WSDL:
file:/Users/212314537/Development/workspaces/dsp/dsp/dsp-gateway/authorization/wso2-is-client/target/classes/RemoteUserStoreManagerService.wsdl
[ main] PhaseInterceptorChain WARN
Interceptor for
{http://entitlement.identity.carbon.wso2.org}EntitlementService#{http://entitlement.identity.carbon.wso2.org}getDecision
has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unexpected wrapper element
{http://org.apache.axis2/xsd}EntitlementServiceException found. Expected
{http://org.apache.axis2/xsd}getDecisionResponse.
at
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:99)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:800)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1592)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1490)
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:622)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:133)
at com.sun.proxy.$Proxy32.getDecision(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
com.ge.dsp.wso2.client.Wso2IdentityServerClientImpl.makeRemoteEntitlementServiceCall(Wso2IdentityServerClientImpl.java:506)
at
com.ge.dsp.wso2.client.Wso2IdentityServerClientImpl.authorize(Wso2IdentityServerClientImpl.java:214)
at com.ge.dsp.pdp.wso2.StandaloneTest.main(StandaloneTest.java:167)
[ main] AbstractResourceHelper WARN
Missing resource key=wso2isclient.internalServiceImplFailure
I'm wondering if I am missing a property or interceptor that is causing CXF
to choke when trying to convert the SOAP fault into a Java exception.
Please help.