[ http://issues.apache.org/jira/browse/AXIS2-1867?page=all ]

Amila Chinthaka Suriarachchi updated AXIS2-1867:
------------------------------------------------

    Attachment: adb_codegen.patch

Attached a patch with current svn

> NullPointerException generating WSDL with anonymous simple types
> ----------------------------------------------------------------
>
>                 Key: AXIS2-1867
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1867
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: codegen
>    Affects Versions: nightly
>         Environment: Axis2 1.1.1-SNAPSHOT (nightly build), JDK 1.5.0_08 x64, 
> Windows XP x64
>            Reporter: Peter Runge
>         Assigned To: Amila Chinthaka Suriarachchi
>         Attachments: adb_codegen.patch, SchemaCompiler.java-patch.txt
>
>
> WSDL2Java is failing on a WSDL that has multiple anonymous simple types with 
> a NullPointerException.
> This may be related to issue AXIS2-1780, however this WSDL was tried with the 
> latest nightly build (built 2006-12-13).
> The following is output of the error with the nightly build.  The same error 
> occurs with Axis2 1.1.
> Using AXIS2_HOME:   c:\java\axis2-1.1.1-SNAPSHOT
> Using JAVA_HOME:    c:\java\jdk\jdk1.5.0_08-x64
> Exception in thread "main" 
> org.apache.axis2.wsdl.codegen.CodeGenerationException: 
> java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
>       at 
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:224)
>       at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32)
>       at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
> Caused by: java.lang.RuntimeException: 
> java.lang.reflect.InvocationTargetException
>       at 
> org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:52)
>       at 
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:177)
>       ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at 
> org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:49)
>       ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: 
> java.lang.NullPointerException
>       at 
> org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:257)
>       at 
> org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:72)
>       ... 8 more
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:592)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:489)
>       at 
> org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1488)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1450)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:950)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:909)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:864)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:527)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:489)
>       at 
> org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1488)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1450)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:950)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processAnonymousComplexSchemaType(SchemaCompiler.java:883)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:866)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:527)
>       at 
> org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:499)
>       at 
> org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:336)
>       at 
> org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:248)
>       ... 9 more
> It seems that removing one of the anonymous simple types allows the code to 
> be generated without error.
> The following WSDL was used (simplest form of original to reproduce bug):
> <?xml version="1.0"?>
> <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:ns="http://my.service.namespace"; 
> targetNamespace="http://my.service.namespace"; 
> xmlns="http://schemas.xmlsoap.org/wsdl/";>
>       <types>
>               <xsd:schema elementFormDefault="qualified" 
> targetNamespace="http://my.service.namespace";>
>                       <xsd:element name="goodMorning">
>                               <xsd:complexType>
>                                       <xsd:sequence>
>                                               <xsd:element 
> name="goodMorningDto" type="ns:goodMorningRequestDto" minOccurs="1" 
> maxOccurs="1" />
>                                       </xsd:sequence>
>                               </xsd:complexType>
>                       </xsd:element>
>                       <xsd:element name="goodMorningResultDto">
>                               <xsd:complexType>
>                                       <xsd:sequence>
>                                               <xsd:element 
> name="goodMorningResultDto" type="ns:goodMorningResultDtoType" minOccurs="1" 
> maxOccurs="1" />
>                                       </xsd:sequence>
>                               </xsd:complexType>
>                       </xsd:element>
>                       <xsd:complexType name="goodMorningRequestDto">
>                               <xsd:sequence>
>                                       <xsd:element name="postcode" 
> minOccurs="0" maxOccurs="1">
>                                               <xsd:simpleType>
>                                                       <xsd:restriction 
> base="xsd:string">
>                                                               <xsd:maxLength 
> value="4"/>
>                                                       </xsd:restriction>
>                                               </xsd:simpleType>
>                                       </xsd:element>
>                               </xsd:sequence>
>                       </xsd:complexType>
>                       <xsd:complexType name="goodMorningResultDtoType">
>                               <xsd:sequence>
>                                       <xsd:element name="status" 
> minOccurs="0" maxOccurs="1">
>                                               <xsd:simpleType>
>                                                       <xsd:restriction 
> base="xsd:string">
>                                                               <xsd:maxLength 
> value="1"/>
>                                                       </xsd:restriction>
>                                               </xsd:simpleType>
>                                       </xsd:element>
>                               </xsd:sequence>
>                       </xsd:complexType>
>               </xsd:schema>
>       </types>
>       <message name="goodMorningRequest">
>               <part name="parameter" element="ns:goodMorning"/>
>       </message>
>       <message name="goodMorningResponse">
>               <part name="parameter" element="ns:goodMorningResultDto"/>
>       </message>
>       <portType name="goodMorningPortType">
>               <operation name="sayGoodMorning">
>                       <input message="ns:sayGoodMorningRequest"/>
>                       <output message="ns:sayGoodMorningResponse"/>
>               </operation>
>       </portType>
>       <binding name="goodMorningSoapBinding" type="ns:goodMorningPortType">
>               <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
> style="document" />
>               <operation name="sayGoodMorning">
>                       <soap:operation 
> soapAction="http://www.test.com/goodMorning"; style="document" />
>                       <input>
>                               <soap:body use="literal"/>
>                       </input>
>                       <output>
>                               <soap:body use="literal"/>
>                       </output>
>               </operation>
>       </binding>
>       <service name="goodMorning">
>               <port name="goodMorningPort" 
> binding="ns:goodMorningSoapBinding">
>                       <soap:address location="http://localhost:8080/test"/>
>               </port>
>       </service>
> </definitions>

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