Hi, 

Can you check the message that JAXWS client received by setting up the logging 
interceptor?
If the message is received, the client should throw the exception like the http 
transport does.

-- 
Willem Jiang

Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://www.fusesource.com | http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) 
(English)
          http://jnn.javaeye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang 
Weibo: willemjiang



On Monday, November 12, 2012 at 11:54 PM, tnk wrote:

> Hello,
> 
> I have simple cxf endpoint (using NMR transport), configured as follows:
> 
> <cxf:cxfEndpoint id="camelCxfEndpoint"
> address="nmr:fatal:proc"
> wsdlURL="wsdl/hello.wsdl"
> serviceClass="test.HelloWorld"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> <cxf:properties>
> <entry key="dataFormat" value="POJO" />
> <entry key="loggingFeatureEnabled" value="true" />
> </cxf:properties>
> </cxf:cxfEndpoint>
> 
> And the camel route implementing service:
> <camel:route id="serviceRoute" errorHandlerRef="noErrorHandler">
> <camel:from uri="cxf:bean:camelCxfEndpoint" />
> <camel:process ref="fatalProcessor" /> (1)
> </camel:route>
> (1) FatalProcessor just throws Exception:
> public void process(Exchange exchange) throws Exception {
> throw new Exception("oh no...");
> }
> 
> 
> I am trying to call web service via nmr using jaxws endpoint:
> <jaxws:client id="client" 
> address="nmr:fatal:proc" 
> wsdlLocation="wsdl/hello.wsdl" 
> serviceClass="test.HelloWorld">
> </jaxws:client>
> 
> Calling is simple:
> response = client.talk(new Talk());
> (types are generated from wsdl using cxf wsdl2java maven plugin)
> 
> From the logs, I see, that soap fault is returned from cxf endpoint:
> 
> 2012-11-12T17:36:39,001 | INFO | p22364331-272424 | HelloWorld 
> | 167 - org.apache.cxf.bundle - 2.5.0.fuse-70-097 | Outbound Message
> ---------------------------
> ID: 159
> Response-Code: 500
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {}
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>oh
> no...</faultstring></soap:Fa
> ult></soap:Body></soap:Envelope>
> 
> BUT no exception is returned from jaxws client invocation.
> client.talk(new Talk()) service call ends up in nmr timeout and null is
> returned (without exceptions)
> 
> Is it some kind of CXF NMR transport bug? When using http transport
> everything works fine - org.apache.cxf.binding.soap.SoapFault is thrown from
> jaxws client.
> 
> 
> 
> 
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Problem-with-cxf-web-service-invocation-via-nmr-transport-tp5722607.html
> Sent from the Camel - Users mailing list archive at Nabble.com 
> (http://Nabble.com).



Reply via email to