Hi,

I have more information about this problem. I have 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 changed 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. If there is no JIRA bug already about this, I will open one.

Stephane Roy
Alcatel-Lucent

Stephane Roy wrote:
Hi,

I noticed a problem with the latest release of Axis2 (2.1.2).

Once my code is generated, compiled and deployed for the server side, 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.alcatel-lucent.com/wsp/ns/2007/04/16/3DN-01401/phonebookService'. 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.

What bothers me is that the WSDL of the web service Version (http://localhost:8080/axis2/services/Version?wsdl), delivered with Axis2.1.2, can be displayed without error.

I would like to know if someone had this kind of problem before.
Is this behavior a known issue or a limitation of Axis2.1.2 ?

Thanks in advance.

Stephane Roy
Alcatel-Lucent


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to