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 ax...@ws.apache.org on 2004/10/14 18:19:01 UTC
[jira] Commented: (AXIS-1598) Generated Java artifacts name for Schema Anonymous type
The following comment has been added to this issue:
Author: Ias
Created: Thu, 14 Oct 2004 9:18 AM
Body:
There has seemed to be no objection so far against this approach, so I'll commit these diffs (approximately) at 17:00 (GMT 0) tomorrow (15 Oct).
Thanks.
---------------------------------------------------------------------
View this comment:
http://issues.apache.org/jira/browse/AXIS-1598?page=comments#action_54060
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/AXIS-1598
Here is an overview of the issue:
---------------------------------------------------------------------
Key: AXIS-1598
Summary: Generated Java artifacts name for Schema Anonymous type
Type: Improvement
Status: Open
Priority: Major
Project: Axis
Components:
WSDL processing
Versions:
current (nightly)
Assignee: Ias
Reporter: Jongjin Choi
Created: Sun, 10 Oct 2004 11:39 PM
Updated: Thu, 14 Oct 2004 9:18 AM
Description:
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.
---------------------------------------------------------------------
JIRA INFORMATION:
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