[ 
http://issues.apache.org/jira/browse/AXIS2-1252?page=comments#action_12439073 ] 
            
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: http://issues.apache.org/jira/browse/AXIS2-1252
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: wsdl
>            Reporter: Kinichiro Inoguchi
>            Priority: Blocker
>
> This issue comes from user mailing list.
> http://marc.theaimsgroup.com/?t=115937715900004&r=1&w=2
> 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="http://schemas.xmlsoap.org/wsdl/soap12/"; 
> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
> xmlns:ns1="http://aaa.bbb/types"; xmlns:xxx="http://aaa.bbb"; 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
> targetNamespace="http://aaa.bbb";>
>     <wsdl:types>
>       <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> 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="http://www.w3.org/2001/XMLSchema"; 
> xmlns:gen798="http://test/xsd"; xmlns:ax21="http://aaa.bbb/types"; 
> targetNamespace="http://aaa.bbb/types"; attributeFormDefault="qualified" 
> elementFormDefault="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: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to