MAC wrote:
Hi Simon , i recently upgraded to 1.6.2 tuscany to see if the problem has been resolved as i saw in your changes file that came with 1.6.2 notification that " TUSCANY-3408 - Fix reference to missing namespace hostname in generated WSDL " has been fixed


However my problem did not got resolved and hence i am providing you more info .
Steps to recreate the problem of missing namespace in wsdl :

1. unzip the attached file

2. run mvn

3. copy the generated *exploded* war file folder from target\jupiter to <jetty_home>\webapps folder. (Do not copy the generated Jupiter.war file, use the exploded 'Jupiter' folder only. There's a separate issue with using the .war file) 4. Get the WSDL fie using the URL - http://localhost:8080/jupiter/BPELHelloWorldComponent?wsdl=WEB-INF/classes/jupiter.wsdl (assuming your jetty instance is running on localhost:8080)

The WSDL file will have the malformed partnerlink tags with the missing namespace, i.e.

<{http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkType name= <http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkType name=>"JupiterPartnerLinkType"> <:role name="me" portType="{http://jupiter.ptg.company.com/jupiter.wsdl}JupiterPortType";>

<:role name="you" portType="{http://jupiter.ptg.company.com/jupiter.wsdl}JupiterPortType";>

</{http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkType>

This is using jetty 6.1.18, Tuscany 1.6.2, maven 2.2.1and java 1.6.0_14 on Win XP.

I hope that i have provided you with all info required to resolve this . Please reply if i need to provide you with more info .

Thanks and regards

--mac
Hi Mac,
Thanks for sending this.  I have reproduced the problem, which is caused
by a bug in Tuscany.  This bug was reported some time ago as TUSCANY-2322
but was incorrectly marked as fixed and closed.  I have reopened TUSCANY-2322
and I will commit a fix with a test case to the 1.x trunk tomorrow.

  Simon


On Thu, Apr 7, 2011 at 12:23 AM, Simon Nash <[email protected] <mailto:[email protected]>> wrote:

    MAC wrote:

        Thanks for clarifying that Simon.

There also seems to be some problem with the WSDL referred to by
        the import statement. If I send a request for the URL

http://.../jupiter/World?wsdl=WEB-INF/classes/jupiter.wsdl
        (which is the imported WSDL file). The WSDL returned by the
        server has the following garbled XML tags:

<{http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkType
        <http://schemas.xmlsoap.org/ws/2004/03/partner-link/%7DpartnerLinkType>
        name=
        <http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkType
        <http://schemas.xmlsoap.org/ws/2004/03/partner-link/%7DpartnerLinkType>
        name=>"WorldPartnerLinkType"> <:role name="me"
        portType="{http://jupiter.ptg.company.com/jupiter.wsdl}WorldPortType
        <http://jupiter.ptg.company.com/jupiter.wsdl%7DWorldPortType>">


        <:role name="you"
        portType="{http://jupiter.ptg.company.com/jupiter.wsdl}WorldPortType
        <http://jupiter.ptg.company.com/jupiter.wsdl%7DWorldPortType>">

        </{http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkType
        <http://schemas.xmlsoap.org/ws/2004/03/partner-link/%7DpartnerLinkType>>

The corresponding WSDL file that actually is deployed to the
        server webapps folder has this content instead:

<plnk:partnerLinkType name=" WorldPartnerLinkType ">

              <plnk:role name="me" portType="tns: WorldPortType "/>

              <plnk:role name="you" portType="tns: WorldPortType "/>

          </plnk:partnerLinkType>

Please see yellowed section above corresponding to green portion
        below it .
        The URI for the plnk namespace is "
        http://schemas.xmlsoap.org/ws/2004/03/partner-link/"; and for tns
        is "http://jupiter.ptg.company.com/jupiter.wsdl";

My Tuscany component is using the BPEL implementation type and
        is deployed in Jetty as a war file.

Regards
        --mac

    I haven't seen this problem before.  Which version of Tuscany are you
    using?  If you are using 2.x, this uses binding-ws-runtime-jaxws by
    default, which is known to have problems.  The fix is to either use
    Tuscany 1.x or configure Tuscany 2.x to use binding-ws-runtime-axis2
    instead.  If you are using Tuscany 1.x, please create a JIRA and attach
    your war file.

     Simon



        On Wed, Apr 6, 2011 at 2:30 AM, Simon Nash <[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>> wrote:

           MAC wrote:

               Hi ,

               i am new to tuscany . I recently downloaded the project and
               tried to set it up .

               When i open wsdl in internet explorer it shows the wsdl .
        It has
               some extra data

               The line in my wsdl :

               <wsdl:import
               namespace="http://jupiter.ptg.company.com/jupiter.wsdl";
               location="/jupiter/World?wsdl=WEB-INF/classes/jupiter.wsdl">

               after ?wsdl what is =WEB-INF/classes/jupiter.wsdl and how to
               remove this . Please help me on this .

               --         thanks
               --mac

           The Tuscany-generated WSDL is a "wrapper" around your own
        WSDL.  The
           extra data "/jupiter/World?wsdl=WEB-INF/classes/jupiter.wsdl"
        is the
           syntax used by Axis2 to resolve this <wsdl:import> tag to
        your own
           WSDL file which is packaged at the specified relative
        location within
           the webapp.

           This <wsdl:import> tag should "just work" when a client
        accesses the
           Tuscany-generated WSDL using a tool such as WSDL4J or wsimport.
           It wouldn't be a good idea to remove the extra data because
        this would
           prevent the import from being resolved.

            Simon




-- thanks
        --mac





--
thanks
--mac


Reply via email to