problem to display the WSDL in a browser in Axis2.1.2
-----------------------------------------------------
Key: AXIS2-2756
URL: https://issues.apache.org/jira/browse/AXIS2-2756
Project: Axis 2.0 (Axis2)
Issue Type: Bug
Components: deployment
Affects Versions: 1.2
Reporter: Stephane Roy
I noticed a problem with the latest release of Axis2 (2.1.2).
Once the code is generated, compiled and deployed for the server part, I try to
display the related WSDL in my browser, by clicking on the line of my service
in the http://localhost:8080/axis2/services/listServices page.
The page http://localhost:8080/axis2/services/<myService>?wsdl opens with an
error:
org.apache.axis2.AxisFault: WSDLException: faultCode=OTHER_ERROR: Can't find
prefix for 'http://www.xxx.com/yyy/myService'. Namespace prefixes must be set
on the Definition object using the addNamespace(...) method.
org.apache.axis2.description.AxisService.printWSDL(AxisService.java:850)
org.apache.axis2.transport.http.ListingAgent.processListService(ListingAgent.java:221)
org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:225)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
In Axis2.1.1.1, with the same WSDL, it worked fine.
In Axis2.1.2, I tried to generate the code in adb mode, then in xmlbeans mode
but I have the same problem.
After analysis, I found a scenario to reproduce the problem.
Our web service is defined with a WSDL divided in three parts. First we have a
concrete WSDL (defining the Service and the Binding). This WSDL imports an
abstract WSDL (defining the PortType and the Messages). Finally the abstract
WSDL imports a XSD Schema (defining the Types).
I found out that the WSDL cannot be displayed in my browser because there is a
conflict between two prefixes:
In the concrete WSDL, we defined the prefix 'tns' for our namespace. The prefix
'tns' is also used in the abstract WSDL for another namespace.
With Axis2.1.2, this situation prevents the WSDL to be displayed in the
browser, whereas with Axis2.1.1.1, everything works fine.
I change one of the occurrences of the prefix 'tns' to 'tns2' and then
Axis2.1.2 can display the WSDL in the browser, just fine.
It seems that this is a regression of Axis2.1.2.
Thanks in advance.
PS: This problem has been submitted to the User mailing list:
http://marc.info/?l=axis-user&m=117915706112761&w=2
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]