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.

Reply via email to