axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Venkatakrishnan (JIRA)" <>
Subject [jira] Commented: (AXIS2-1252) java2wsdl generates unknown namespace
Date Mon, 02 Oct 2006 08:51:19 GMT
    [ ] 
Venkatakrishnan commented on AXIS2-1252:

Hi.. thanks.

Well, looking at the src there, I observe that HelloBean belongs to the package named 'test'.
 Hence Java2WSDL rightly generates the xsd for it under the namespace http://test/xsd.  Let
me explain a bit on how namespaces are arrived at in java2wsdl

- the 'wsdl definition' has a namespace that you can specify using the commandline option
'tn'.  If this is not specified the namespace will default to something that is derived from
the package name of the service class.   So had you not mentioned this in your case, the target
namespace will be "http://test" since 'test' is the name of the package of the service class.
- the types that are used in this wsdl are categorized into two: -
    1) the types that have to be defined so that you can defined the wsdl:message elements.
i.e. the types that define the message parts.  These namespace for these types can be specified
using the commandline option 'stn' or they will default to something that is derived from
the package name of the service class with a '/xsd' appended.  So in your case, if you had
not specified this option, the targetnamespace would have be "http://test/xsd" since "test'
is the name of the package of your service class
    2) the types that define the arguments and return values used in  your service methods.
 Now, the targetn namespace for the xsd that includes these types, will be derived from the
package name of the type and appended with '/xsd'.  Hence in your case the 'HelloBean' type
gets defined under the namespace "http://test/xsd" since "test' in the package in which HelloBean
is defined.  Now, there is no way, atleast presently, that you can override this into using
your own namespace definitions.  

If you must be allowed to mention namespaces for the types that your service methods use,
then this would need  some more command options to be supported.  I'd like to get the community's
input to this, if we must add more command line options to support this.

So that's about why you end up with that namespace for HelloBean.   Please feel free to ask
if there is more to be clarified.  Thanks

- Venkat

> java2wsdl generates unknown namespace
> -------------------------------------
>                 Key: AXIS2-1252
>                 URL:
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: wsdl
>            Reporter: Kinichiro Inoguchi
>            Priority: Blocker
> This issue comes from user mailing list.
> java2wsdl generates unknown namespace, "http://test/xsd".
> I'm using current nightly.
> My service class has method "sayHello", 
> and returns array of simple java beans "HelloBean".
> Then I run java2wsdl, sayHello and sayHelloResponse 
> are in namespace "http://aaa.bbb/types".
> But, HelloBean is in unknown namespace "http://test/xsd".
> Is this a bug ?
> C:\axis2-std-SNAPSHOT-bin\bin\java2wsdl.bat 
>   -cn test.TestService1 -cp . 
>   -tn http://aaa.bbb -tp xxx 
>   -stn http://aaa.bbb/types -stp yyy 
>   -sn TestService1 -of TestService1.wsdl
> generated WSDL is like this;
>   <wsdl:definitions xmlns:soap12="" xmlns:http=""
xmlns:mime="" xmlns:ns1="http://aaa.bbb/types" xmlns:xxx="http://aaa.bbb"
xmlns:soap="" xmlns:wsdl=""
>     <wsdl:types>
>       <xs:schema xmlns:xs="" xmlns:ax22="http://test/xsd"
targetNamespace="http://test/xsd" attributeFormDefault="qualified" elementFormDefault="qualified">
>         <xs:element name="HelloBean" type="ax22:HelloBean" /> 
>         <xs:complexType name="HelloBean">
>           <xs:sequence>
>             <xs:element name="ret1" type="xs:string" /> 
>             <xs:element name="ret2" type="xs:int" /> 
>             <xs:element name="ret3" type="xs:long" /> 
>             <xs:element name="ret4" type="xs:double" /> 
>             <xs:element name="ret5" type="xs:float" /> 
>             <xs:element name="ret6" type="xs:short" /> 
>             <xs:element name="ret7" type="xs:boolean" /> 
>           </xs:sequence>
>         </xs:complexType>
>       </xs:schema>
>       <xs:schema xmlns:xs="" xmlns:gen798="http://test/xsd"
xmlns:ax21="http://aaa.bbb/types" targetNamespace="http://aaa.bbb/types" attributeFormDefault="qualified"
>         <xs:element name="sayHello">
>           <xs:complexType>
>             <xs:sequence>
>               <xs:element name="var1" type="xs:string" /> 
>               <xs:element name="var2" type="xs:int" /> 
>               <xs:element name="var3" type="xs:long" /> 
>               <xs:element name="var4" type="xs:double" /> 
>               <xs:element name="var5" type="xs:float" /> 
>               <xs:element name="var6" type="xs:short" /> 
>               <xs:element name="var7" type="xs:boolean" /> 
>             </xs:sequence>
>           </xs:complexType>
>         </xs:element>
>         <xs:element name="sayHelloResponse">
>           <xs:complexType>
>             <xs:sequence>
>               <xs:element name="return" maxOccurs="unbounded" type="gen798:HelloBean"
nillable="true" /> 
>             </xs:sequence>
>           </xs:complexType>
>         </xs:element>
>       </xs:schema>
>     </wsdl:types>
>   ...

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message