JBoss ESB's SOAPClient equivalents in SwitchYard?
tadayosi Mar 26, 2013 1:11 AMHello all,
I'm looking for SOAPClient (http://docs.jboss.org/jbossesb/docs/4.11/manuals/html/Programmers_Guide/index.html#sect-webservicessoap-soapclient-1) equivalents in SwitchYard. However, as far as I researched there seems to be no such features yet. Is there any plan to provide such features in SY in the future? Or if I can achieve similar things with the current offerings, please tell me how.
For clarification, what I'm looking for is such a feature that I can put a Map with request data in a Message and a SOAP request is automatically generated from WSDL and is populated with that data, which then can be sent to a SCA reference with WSDL interface and SOAP binding. Currently, it appears to me that SOAPMessageComposer expect only messages which already contains the populated SOAP message.
Here is what I'd like to do in switchyard.xml:
<sca:composite name="webservice_consumer1" targetNamespace="urn:switchyard-quickstart:webservice_consumer1:0.1.0"> <sca:service name="WebserviceConsumer1" promote="MyServiceCategory/WebserviceConsumer1"> <jms:binding.jms> <jms:queue>quickstart_webservice_consumer1_Request</jms:queue> <jms:connectionFactory>#ConnectionFactory</jms:connectionFactory> </jms:binding.jms> </sca:service> <sca:component name="MyServiceCategory"> <sca:service name="WebserviceConsumer1"> <interface.esb inputType="java:java.lang.String" /> </sca:service> <camel:implementation.camel> <spring:route id="org.switchyard.quickstarts.webservice.consumer1.WebserviceConsumer1"> <spring:bean beanType="org.switchyard.quickstarts.webservice.consumer1.MyRequestAction" method="process" /> <spring:to uri="switchyard://HelloWorldWS" /> <spring:bean beanType="org.switchyard.quickstarts.webservice.consumer1.MyResponseAction" method="process" /> </spring:route> </camel:implementation.camel> <sca:reference name="HelloWorldWS"> <sca:interface.wsdl interface="http://localhost:8080/Quickstart_webservice_consumer1/HelloWorldWS?wsdl#wsdl.porttype(HelloWorld)" /> </sca:reference> </sca:component> <sca:reference name="HelloWorldWS" promote="MyServiceCategory/HelloWorldWS" multiplicity="1..1"> <soap:binding.soap> <soap:contextMapper /> <soap:wsdl>http://localhost:8080/Quickstart_webservice_consumer1/HelloWorldWS?wsdl</soap:wsdl> <soap:endpointAddress>http://localhost:8080/Quickstart_webservice_consumer1/HelloWorldWS</soap:endpointAddress> </soap:binding.soap> </sca:reference> </sca:composite>
Best regards,
Tadayoshi