You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by MAC <ma...@gmail.com> on 2011/04/05 15:53:43 UTC

tuscany generated wsdl has extra data

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

Re: tuscany generated wsdl has extra data

Posted by Simon Nash <na...@apache.org>.
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 <nash@apache.org 
> <ma...@apache.org>> 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 <nash@apache.org
>         <ma...@apache.org> <mailto:nash@apache.org
>         <ma...@apache.org>>> 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
> 


Re: tuscany generated wsdl has extra data

Posted by MAC <ma...@gmail.com>.
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="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

On Thu, Apr 7, 2011 at 12:23 AM, Simon Nash <na...@apache.org> 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/}partnerLinkTypename= <
>> http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkTypename=>"WorldPartnerLinkType"> <:role name="me" portType="{
>> http://jupiter.ptg.company.com/jupiter.wsdl}WorldPortType">
>>
>>
>> <:role name="you" portType="{
>> http://jupiter.ptg.company.com/jupiter.wsdl}WorldPortType">
>>
>> </{http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkType>
>>
>>
>> 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 <nash@apache.org <mailto:
>> nash@apache.org>> 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

Re: tuscany generated wsdl has extra data

Posted by Simon Nash <na...@apache.org>.
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 
> name= 
> <http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkType 
> name=>"WorldPartnerLinkType"> <:role name="me" 
> portType="{http://jupiter.ptg.company.com/jupiter.wsdl}WorldPortType">
> 
> <:role name="you" 
> portType="{http://jupiter.ptg.company.com/jupiter.wsdl}WorldPortType">
> 
> </{http://schemas.xmlsoap.org/ws/2004/03/partner-link/}partnerLinkType>
> 
>  
> 
> 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 <nash@apache.org 
> <ma...@apache.org>> 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
> 


Re: tuscany generated wsdl has extra data

Posted by MAC <ma...@gmail.com>.
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
name="WorldPartnerLinkType">
<:role name="me" portType="{
http://jupiter.ptg.company.com/jupiter.wsdl}WorldPortType">

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

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



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


On Wed, Apr 6, 2011 at 2:30 AM, Simon Nash <na...@apache.org> 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

Re: tuscany generated wsdl has extra data

Posted by Simon Nash <na...@apache.org>.
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