BRUNO MELLONI
2011-04-27 22:12:23 UTC
I am using CXF on a command-line java application client to call a commercial .NET web service (Great Plains Web Service). Under some circumstances (probably triggered by a technical issue or by data I feed it) the service throws an exception, but all I receive in the client side is "org.apache.cxf.binding.soap.SoapFault: The application encountered an unhandled system exception. Contact your system administrator for details."
Clearly that doesn't tell me anything useful, so I wanted to see the SOAP request/response to see if there is more detail about the problem.
Following the documentation I could find I did the following:
1.- Added "-Dorg.apache.cxf.Logger=org.apache.cxf.common.logging.Log4jLogger" to the Eclipse run configuration program arguments for the app, so that logging will go to the Log4jLogger that the application uses.
2.- Added the LoggingFeature to my <jaxws:client> tag as follows:
<jaxws:client id="gpClient" address="http://myGPServer/DynamicsGPWebServices/DynamicsGPService.asmx"
serviceClass="com.microsoft.schemas.dynamics.gp._2006._01.DynamicsX0020GPSoap" >
<jaxws:features>
<bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
</jaxws:client>
3.- Added the block to enable logging to the context file:
<cxf:bus>
<cxf:features>
<cxf:logging/>
</cxf:features>
</cxf:bus>
And frustratingly... the SOAP message request/response does not go to the console nor log4j.
Where did I go wrong?
Clearly that doesn't tell me anything useful, so I wanted to see the SOAP request/response to see if there is more detail about the problem.
Following the documentation I could find I did the following:
1.- Added "-Dorg.apache.cxf.Logger=org.apache.cxf.common.logging.Log4jLogger" to the Eclipse run configuration program arguments for the app, so that logging will go to the Log4jLogger that the application uses.
2.- Added the LoggingFeature to my <jaxws:client> tag as follows:
<jaxws:client id="gpClient" address="http://myGPServer/DynamicsGPWebServices/DynamicsGPService.asmx"
serviceClass="com.microsoft.schemas.dynamics.gp._2006._01.DynamicsX0020GPSoap" >
<jaxws:features>
<bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
</jaxws:client>
3.- Added the block to enable logging to the context file:
<cxf:bus>
<cxf:features>
<cxf:logging/>
</cxf:features>
</cxf:bus>
And frustratingly... the SOAP message request/response does not go to the console nor log4j.
Where did I go wrong?