[ 
http://issues.apache.org/jira/browse/AXIS-1598?page=comments#action_58566 ]
     
Tom Jordahl commented on AXIS-1598:
-----------------------------------

Note that the fix for this caused bug AXIS-1799, which prevented the SalesForce 
generated WSDL from working.  1799 has been fixed post RC2.


> Generated Java artifacts name for Schema Anonymous type
> -------------------------------------------------------
>
>          Key: AXIS-1598
>          URL: http://issues.apache.org/jira/browse/AXIS-1598
>      Project: Axis
>         Type: Improvement
>   Components: WSDL processing
>     Versions: current (nightly)
>     Reporter: Jongjin Choi
>     Assignee: Ias
>      Fix For: current (nightly)
>  Attachments: diff-JavaGeneratorFactory.txt, diff-tests.txt
>
> Dear all. 
> In the current version of Axis, the generated java artifacts 
> name for schema anonymous type begins with underscore. 
>  
> For example, in the AddressBook.wsdl in the 
> ws-axis/java/test/wsdl/addrNoImplSEI directory, 
>  
>  <xsd:element name="Phone"> 
>     <xsd:complexType> 
>        <xsd:all> 
>             <xsd:element name="areaCode" type="xsd:int"/> 
>             <xsd:element name="exchange" type="xsd:string"/> 
>             <xsd:element name="number" type="xsd:string/> 
>        </xsd:all> 
>     </xsd:complexType> 
>  </xsd:element> 
>  
> The generated Java artifact for the element's complex type is 
> '_phone.java'. 
>  
> This convention may confuse the user because it does not 
> follow general java naming rule. 
> It would be better if the generated arftifact name is 
> 'Phone.java' instead of '_phone.java' in this case. 
>  
> The JSR-109 introduces the new QName scheme for anonymous type. 
> Currently Axis makes a Java name from the QName by replacing '>' with '_'. 
> I think that java name can be derived from the QName by using 
> empty string instead of '_' and making the character 
> following '>' as upper case. 
>  
> For example, the QName and its derived java name should be like these: 
>  QName --> java name 
>  
>  X:>root   --> Root 
>  X:>root>inside --> RootInside   ('I' is also upper case) 
>  
> If name collision occurs, it will be resolved in the 
> resolveNameClashes() method of JavaGeneratorFactory. 
>  
> It seems that the JAX-RPC 1.1 is not clear for this. But the 
> SUN's JWSDP works the way I said. 
>  
> I have fixed this in my local axis copy and passed all-tests with some 
> modification for generated artifacts name 
> to the test cases for wsdl (ws-axis/java/test/wsdl/). 
>  
> I know that it will break existing application using Axis. 
> But the change will provide the users with more friendly 
> names, compatibility with other JAX-RPC runtime and less confusion. 

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to