You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Lin Sun <li...@gmail.com> on 2007/03/15 18:21:34 UTC

[Axis2]package name is used as the targetNamespace

Hi,

We had the titled prob for a little while during the axis2 integration 
work into geronimo and I'd like to get some advise from the axis2 list, 
as we feel it is most appropriate to fix this in axis2.

I have a HelloWorld.java that has this:

package test.mypackage;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService(name="HelloWorld", targetNamespace =
"http://example.org/hello/xsd")
public class HelloWorld {

     @WebMethod
     public String sayHello(String me){
         return "Hello "+me;
     }
}

However, when I request the wsdl...I get something like this:

<wsdl:definitions targetNamespace="http://mypackage.test/xsd">
...

Notice the targetnamespace was munged and changed from it's originally
declared namespace of "http://example.com/hello/xsd".  I want the one
that is both declared in the included wsdl (or the one declared in the
annotation).

So in the geronimo integration code, when .wsdl file isn't in the app 
war file, we call

AxisService.createService(endpointClassName,configurationContext.getAxisConfiguration(),JAXWSMessageReceiver.class);

By stepping through the code, the above line will call construct an 
SchemaGenerator object.  Since schemaTargetNameSpace is null, 
Java2WSDLUtils.schemaNamespaceFromClassName is called and it seems to 
create the namespace based on the package name, insted of what 's 
specified in the annotation.

Can someone please confirm if that is the expected behavior of the 
Java2WSDLUtils?  Is the tool designed not to process any of the 
annotation stuff?

Thanks, Lin


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org