SOAP Binding doesn't seem to handle RPC-style web services correctly
tadayosi Apr 11, 2013 10:57 AMHello,
This is a follow-up feedback from the previous discussion at https://community.jboss.org/thread/222932 . I'm exploring SOAPClient-equivalent capabilities in SwitchYard and now trying to invoke a RPC-style web service as a reference from a SCA component. The RPC-style web service I'm trying to invoke looks like this:
@WebService(name = "HelloWorld", targetNamespace = "http://webservice_consumer1/helloworld") @SOAPBinding(style = SOAPBinding.Style.RPC) public class HelloWorldWS { ...
However, the invocation fails with the following error in SY 0.8:
23:17:58,289 ERROR [org.slf4j.Logger] Failed delivery for (MessageId: ID-reunion-44667-1365689873791-2-4 on ExchangeId: ID-reunion-44667-1365689873791-2-5). Exhausted after delivery attempt: 1 caught: org.switchyard.HandlerException: Unexpected exception handling SOAP Message org.switchyard.HandlerException: Unexpected exception handling SOAP Message at org.switchyard.component.soap.OutboundHandler.handleMessage(OutboundHandler.java:178) at org.switchyard.bus.camel.processors.ProviderProcessor.process(ProviderProcessor.java:36) at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) (snip) Caused by: javax.xml.soap.SOAPException: Cannot process SOAP request at org.switchyard.component.soap.OutboundHandler.invokeService(OutboundHandler.java:205) at org.switchyard.component.soap.OutboundHandler.handleMessage(OutboundHandler.java:149) ... 188 more Caused by: java.lang.NullPointerException at org.switchyard.component.soap.util.WSDLUtil.getOperationByElement(WSDLUtil.java:290) at org.switchyard.component.soap.util.WSDLUtil.getBindingOperation(WSDLUtil.java:369) at org.switchyard.component.soap.util.WSDLUtil.getSoapAction(WSDLUtil.java:390) at org.switchyard.component.soap.OutboundHandler.invokeService(OutboundHandler.java:193) ... 189 more
I believe SY aims to support RPC-style web services with SOAP binding ( https://issues.jboss.org/browse/SWITCHYARD-627 ), but apparently there is a bug in SOAP binding:
https://issues.jboss.org/browse/SWITCHYARD-1348
https://issues.jboss.org/browse/SWITCHYARD-1392
I'm attaching my entire project. Please let me know what do you think. Any advices would be much appreciated.
Best regards,
Tadayoshi
-
webservice_consumer1-rpc.zip 12.5 KB