axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jongjin Choi" <gunsn...@hotmail.com>
Subject Java artifacts name for Schema Anonymous type
Date Sat, 09 Oct 2004 05:08:37 GMT
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 now am doing the all-tests. 
I 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.

Any thought?

=======================================
Jongjin Choi

Java Webservices team, Tmax Soft.
company homepage : 
   http://www.tmax.co.kr
   http://www.tmaxsoft.com                   
email : jjchoe at tmax dot co dot kr
        gunsnroz at hotmail dot com
=======================================
Mime
View raw message