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