For an interface with a complex type parameter for the method, incorrect WSDL 
is generated
------------------------------------------------------------------------------------------

         Key: AXIS2-807
         URL: http://issues.apache.org/jira/browse/AXIS2-807
     Project: Apache Axis 2.0 (Axis2)
        Type: Bug

  Components: wsdl  
    Versions: 1.0    
 Environment: Windows XP Professional, Eclipse 3.1.2, JDK 1.5.0
    Reporter: James Bender


I am working on converting an existing Axis2 0.93 web service generator that 
uses facilities for Java2WSDL and WSDL2Java, by running Ant tasks 
programmatically with Leafcutter. I started a conversion, yesterday afternoon, 
to Axis2 Std 1.0, and wanted to use my toy example that has a class with an 
interface with one method that takes a complex type as a parameter. In Axis2 
0.93, I am able to successfully generate the WSDL file, successfully run 
WSDL2Java, and after programmatically updating the skeleton, compile, and 
eventually generate a jar and .aar file. The driver is a TestNG test that uses 
embedded Tomcat 5.5 for testing the generated service.

When I try to do the same thing with Axis2 Std 1.0, an incorrect WSDL file is 
generated that is rejected by WSDL2Java:

INFO     Running: java classname=org.apache.axis2.wsdl.WSDL2Java fork=true 
classpathref  (arg value=
-uri ) (arg 
file=c:\Java\projects2\axis2-std-1.0testbed\build\wsdl\WWPointsCalculator.wsdl 
) (arg va
lue=-s ) (arg value=-ss ) (arg value=-sd ) (arg value=-o ) (arg 
file=c:\Java\projects2\axis2-std-1.0
testbed\build\output ) (arg value=-p ) (arg value=testexamples.types ) 
WARN     Exception in thread "main" 
org.apache.axis2.wsdl.codegen.CodeGenerationException: Error par
sing WSDL
WARN            at 
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:94)
WARN            at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32)
WARN            at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
WARN     Caused by: org.apache.axis2.AxisFault: Schema for namespace 
'http://PointsCalculator.ve.rec
ursionsw.com/types' already contains type 'FoodDescription; nested exception 
is: 
WARN            java.lang.RuntimeException: Schema for namespace 
'http://PointsCalculator.ve.recursionsw.c
om/types' already contains type 'FoodDescription
WARN            at 
org.apache.axis2.description.WSDL2AxisServiceBuilder.populateService(WSDL2AxisServiceBu
ilder.java:243)
WARN            at 
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:87)
WARN            ... 2 more
WARN     Caused by: java.lang.RuntimeException: Schema for namespace 
'http://PointsCalculator.ve.rec
ursionsw.com/types' already contains type 'FoodDescription
WARN            at 
org.apache.ws.commons.schema.XmlSchema.addType(XmlSchema.java:237)
WARN            at 
org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:10
3)
WARN            at 
org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:233)
WARN            at 
org.apache.axis2.description.WSDL2AxisServiceBuilder.getXMLSchema(WSDL2AxisServiceBuild
er.java:959)
WARN            at 
org.apache.axis2.description.WSDL2AxisServiceBuilder.copyExtensibleElements(WSDL2AxisSe
rviceBuilder.java:1067)
WARN            at 
org.apache.axis2.description.WSDL2AxisServiceBuilder.populateService(WSDL2AxisServiceBu
ilder.java:221)

The Java2WSDL generator puts two copies of the complex type definition in the 
file, and that is what is bad. 0.93 did not have that problem, although to 
produce compilable files, the interface supplied had to be in the default 
package, a problem seemingly solved in 1.0.

-- 
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