Hi,
I am trying to reference an external WebService, hosted on JBoss from Tuscany. The WebService on JBoss is an EJB with a @WebService annotation. Using a tool like SoapUI to access the WebService works fine. From Tuscany it doesn't work, but I can see (using an intermediate logging proxy tool, Trivial Proxy) that Tuscany is trying to access the WebService, without reading the WSDL first (even if I specify wsdli:wsdlLocation with the URL followed by "?WSDL") and that the message sent to JBoss is quite similar to the one SoapUI sends. The key differences are: 1) The namespace of the method invoked, that in the Tuscany message has an additional "xsd" at the end 2) The name of the parameter of the method, which is "arg0" with SoapUI and "param0" with Tuscany Modifying and sending the Tuscany message with SoapUI I can see that the point 1 is causing the failure and point 2 just causes the parameter passed to the EJB to be null. I don't know which versions of the namespace and parameter are correct, since I am using beta software (JBoss 5.0.0.-beta2 and Tuscany revision #568537). I tried using the "requires attribute", but Tuscany is complaining about the content not being a proper QName (tried 'requires="soap/1.1"'). How can I make them work together? Is it a kind of bug or a matter of versions? Here are the messages I sent: (SoapUI): <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ejb="http://ejb.sca_ws_reference.ubiquity.net/"> <soapenv:Header/> <soapenv:Body> <ejb:getWelcome> <!--Optional:--> <arg0>Hello!!!</arg0> </ejb:getWelcome> </soapenv:Body> </soapenv:Envelope> (Tuscany): <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address > <wsa:ReferenceParameters /> </wsa:From> <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address > <wsa:ReferenceParameters> <axis2ns2:conversationID xmlns:axis2ns2="http://www.osoa.org/xmlns/sca/1.0">d9353779-ca14-43d2-9e 5c-d0735b5f4b09</axis2ns2:conversationID> </wsa:ReferenceParameters> </wsa:From> </soapenv:Header> <soapenv:Body> <_ns_:getWelcome xmlns:_ns_="http://ejb.sca_ws_reference.ubiquity.net/xsd"> <_ns_:param0>Hello!!!</_ns_:param0> </_ns_:getWelcome> </soapenv:Body> </soapenv:Envelope> JBoss reply: <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> <env:Header></env:Header> <env:Body> <env:Fault xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> <faultcode>env:Client </faultcode> <faultstring>Endpoint {http://ejb.sca_ws_reference.ubiquity.net/}SampleServiceImplPort does not contain operation meta data for: {http://ejb.sca_ws_reference.ubiquity.net/xsd}getWelcome </faultstring> </env:Fault> </env:Body> </env:Envelope> Sca composite file: <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://ejb.sca_ws_reference.ubiquity.net/" xmlns:tns="http://ejb.sca_ws_reference.ubiquity.net/" xmlns:ejb="http://ejb.sca_ws_reference.ubiquity.net/" xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance" name="samplejeews"> <service name="SampleService" promote="SampleServiceComponent"> <interface.java interface="net.ubiquity.sca_ws_reference.ejb.SampleService" /> </service> <component name="SampleServiceComponent"> <implementation.java class="net.ubiquity.sca_ws_reference.ejb.SampleServiceImpl" /> <reference name="ExternalWebService"> <binding.ws port="18080" uri="http://localhost:18080/soa_sample_sca_ws_reference-tuscany0/_Sample ServiceImpl"> <!--18080 is the port of the proxy logger --> </binding.ws> </reference> </component> </composite> Thanks, Marco Information contained in this e-mail and any attachments are intended for the use of the addressee only, and may contain confidential information of Ubiquity Software Corporation. All unauthorized use, disclosure or distribution is strictly prohibited. If you are not the addressee, please notify the sender immediately and destroy all copies of this email. Ubiquity Software Corporation plc, a company registered under the laws of England and Wales, Registration 2719723, registered offices at Eastern Business Park, Building 3, Wern Fawr Lane, St. Mellons, Cardiff CF3 5EA, Wales, United Kingdom.
