You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Bill Mitchell (JIRA)" <ji...@apache.org> on 2007/11/15 21:43:43 UTC
[jira] Created: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Null pointer exception in WSDL2C compiling schema when generating ADB
---------------------------------------------------------------------
Key: AXIS2C-768
URL: https://issues.apache.org/jira/browse/AXIS2C-768
Project: Axis2-C
Issue Type: Bug
Components: wsdl2c tool
Affects Versions: Current (Nightly)
Environment: Windows XP
Reporter: Bill Mitchell
When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
The exception trace is:
>java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
Retrieving document at 'service.wsdl'.
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:278)
at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
... 2 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
... 3 more
Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
... 8 more
Caused by: java.lang.NullPointerException
at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
... 29 more
I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
The contents of service.wsdl are:
<?xml version="1.0"?>
<definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
<types>
<schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="ModelType">
<sequence>
<any namespace="##local" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>
<complexType name="ExemplarType">
<complexContent>
<extension base="fw:ModelType">
<attribute name="handle" type="string" use="required"/>
</extension>
</complexContent>
</complexType>
<complexType name="InstanceType">
<complexContent>
<extension base="fw:ModelType">
<attribute name="handle" type="string" use="required"/>
</extension>
</complexContent>
</complexType>
<complexType name="getExemplarType">
<attribute name="name" type="string" use="required"/>
<attribute name="exemplarHandle" type="string" use="required"/>
</complexType>
<complexType name="getExemplarResponseType">
<complexContent>
<restriction base="anyType">
<sequence>
<element name="exemplar" type="fw:ExemplarType"/>
</sequence>
<attributeGroup ref="fw:ResponseAttributeGroup"/>
<attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
</restriction>
</complexContent>
</complexType>
<complexType name="BrowseResponseType">
<complexContent>
<restriction base="anyType">
<sequence>
<element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attributeGroup ref="fw:ResponseAttributeGroup"/>
</restriction>
</complexContent>
</complexType>
<complexType name="BrowseConditionsType">
<complexContent>
<restriction base="anyType">
<sequence>
<element name="conditionInstance" maxOccurs="unbounded">
<complexType>
<complexContent>
<extension base="fw:ModelType">
<attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
<attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
<attribute name="constraint" type="string" use="required"/>
</extension>
</complexContent>
</complexType>
</element>
</sequence>
<attribute name="name" type="string" use="required"/>
<attribute name="limit" type="unsignedInt" use="optional"/>
<attribute name="exemplarHandle" type="string" use="required"/>
<attribute name="handle" type="string" use="optional"/>
<attribute name="userId" type="string" use="optional"/>
<attribute name="userName" type="string" use="optional"/>
</restriction>
</complexContent>
</complexType>
<complexType name="CreateType">
<complexContent>
<restriction base="anyType">
<sequence>
<element name="instance" type="fw:ModelType"/>
</sequence>
<attribute name="name" type="string" use="required"/>
<attribute name="limit" type="unsignedInt" use="optional"/>
<attribute name="handle" type="string" use="optional"/>
<attribute name="exemplarHandle" type="string" use="required"/>
<attribute name="userId" type="string" use="optional"/>
<attribute name="userName" type="string" use="optional"/>
</restriction>
</complexContent>
</complexType>
<complexType name="RetrieveType">
<attribute name="name" type="string" use="required"/>
<attribute name="handle" type="string" use="required"/>
<attribute name="limit" type="unsignedInt" use="optional"/>
<attribute name="exemplarHandle" type="string" use="required"/>
<attribute name="userId" type="string" use="optional"/>
<attribute name="userName" type="string" use="optional"/>
</complexType>
<complexType name="UpdateType">
<complexContent>
<restriction base="anyType">
<sequence>
<element name="instance" type="fw:ModelType"/>
</sequence>
<attribute name="name" type="string" use="required"/>
<attribute name="limit" type="unsignedInt" use="optional"/>
<attribute name="handle" type="string" use="required"/>
<attribute name="exemplarHandle" type="string" use="required"/>
<attribute name="userId" type="string" use="optional"/>
<attribute name="userName" type="string" use="optional"/>
</restriction>
</complexContent>
</complexType>
<complexType name="DeleteType">
<attribute name="name" type="string" use="required"/>
<attribute name="handle" type="string" use="required"/>
<attribute name="exemplarHandle" type="string" use="required"/>
<attribute name="userId" type="string" use="optional"/>
<attribute name="userName" type="string" use="optional"/>
</complexType>
<complexType name="StatusResponseType">
<attributeGroup ref="fw:ResponseAttributeGroup"/>
</complexType>
<complexType name="InstanceResponseType">
<complexContent>
<restriction base="anyType">
<sequence>
<element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
</sequence>
<attributeGroup ref="fw:ResponseAttributeGroup"/>
</restriction>
</complexContent>
</complexType>
<simpleType name="MethodListType">
<list itemType="string"/>
</simpleType>
<attributeGroup name="ResponseAttributeGroup">
<attribute name="responseCode" type="integer" use="optional" default="0"/>
<attribute name="responseMessage" type="string" use="optional"/>
</attributeGroup>
<element name="getExemplar" type="fw:getExemplarType"/>
<element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
<element name="browse" type="fw:BrowseConditionsType"/>
<element name="browseResponse" type="fw:BrowseResponseType"/>
<element name="browseNext" type="fw:BrowseConditionsType"/>
<element name="browseNextResponse" type="fw:BrowseResponseType"/>
<element name="browsePrevious" type="fw:BrowseConditionsType"/>
<element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
<element name="create" type="fw:CreateType"/>
<element name="createResponse" type="fw:InstanceResponseType"/>
<element name="retrieve" type="fw:RetrieveType"/>
<element name="retrieveResponse" type="fw:InstanceResponseType"/>
<element name="update" type="fw:UpdateType"/>
<element name="updateResponse" type="fw:InstanceResponseType"/>
<element name="delete" type="fw:DeleteType"/>
<element name="deleteResponse" type="fw:StatusResponseType"/>
</schema>
</types>
<message name="getExemplarRequest">
<part name="getExemplarRequest" element="fw:getExemplar"/>
</message>
<message name="getExemplarResponse">
<part name="getExemplarResponse" element="fw:getExemplarResponse"/>
</message>
<message name="browseRequest">
<part name="browseRequest" element="fw:browse"/>
</message>
<message name="browseResponse">
<part name="browseResponse" element="fw:browseResponse"/>
</message>
<message name="browseNextRequest">
<part name="browseNext" element="fw:browseNext"/>
</message>
<message name="browseNextResponse">
<part name="browseNextResponse" element="fw:browseNextResponse"/>
</message>
<message name="browsePreviousRequest">
<part name="browsePrevious" element="fw:browsePrevious"/>
</message>
<message name="browsePreviousResponse">
<part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
</message>
<message name="createRequest">
<part name="create" element="fw:create"/>
</message>
<message name="createResponse">
<part name="createResponse" element="fw:createResponse"/>
</message>
<message name="retrieveRequest">
<part name="retrieve" element="fw:retrieve"/>
</message>
<message name="retrieveResponse">
<part name="retrieveResponse" element="fw:retrieveResponse"/>
</message>
<message name="updateRequest">
<part name="updateRequest" element="fw:update"/>
</message>
<message name="updateResponse">
<part name="updateResponse" element="fw:updateResponse"/>
</message>
<message name="deleteRequest">
<part name="deleteRequest" element="fw:delete"/>
</message>
<message name="deleteResponse">
<part name="deleteResponse" element="fw:deleteResponse"/>
</message>
<portType name="IFramewareService">
<operation name="getExemplar">
<input message="fw:getExemplarRequest"/>
<output message="fw:getExemplarResponse"/>
</operation>
<operation name="browse">
<input message="fw:browseRequest"/>
<output message="fw:browseResponse"/>
</operation>
<operation name="browseNext">
<input message="fw:browseNextRequest"/>
<output message="fw:browseNextResponse"/>
</operation>
<operation name="browsePrevious">
<input message="fw:browsePreviousRequest"/>
<output message="fw:browsePreviousResponse"/>
</operation>
<operation name="create">
<input message="fw:createRequest"/>
<output message="fw:createResponse"/>
</operation>
<operation name="retrieve">
<input message="fw:retrieveRequest"/>
<output message="fw:retrieveResponse"/>
</operation>
<operation name="update">
<input message="fw:updateRequest"/>
<output message="fw:updateResponse"/>
</operation>
<operation name="delete">
<input message="fw:deleteRequest"/>
<output message="fw:deleteResponse"/>
</operation>
</portType>
<binding name="FramewareSoapBinding" type="fw:IFramewareService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getExemplar">
<soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="browse">
<soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="browseNext">
<soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="browsePrevious">
<soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="create">
<soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="retrieve">
<soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="update">
<soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="delete">
<soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="FramewareService">
<port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
<soap:address location="http://localhost/Frameware/customers/customers.srf"/>
</port>
</service>
</definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Assigned: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Posted by "Dimuthu Gamage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dimuthu Gamage reassigned AXIS2C-768:
-------------------------------------
Assignee: Dimuthu Gamage
> Null pointer exception in WSDL2C compiling schema when generating ADB
> ---------------------------------------------------------------------
>
> Key: AXIS2C-768
> URL: https://issues.apache.org/jira/browse/AXIS2C-768
> Project: Axis2-C
> Issue Type: Bug
> Components: wsdl2c tool
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Bill Mitchell
> Assignee: Dimuthu Gamage
> Fix For: 1.2.0
>
> Attachments: CADBBeanTemplateHeader.xsl.diff, CADBBeanTemplateSource.xsl.diff, case23.tar.gz
>
>
> When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
> The exception trace is:
> >java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
> Retrieving document at 'service.wsdl'.
> 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:278)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
> at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
> ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
> ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
> at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
> at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
> at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
> at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
> at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
> at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
> at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
> ... 29 more
> I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
> The contents of service.wsdl are:
> <?xml version="1.0"?>
> <definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
> <types>
> <schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
> <complexType name="ModelType">
> <sequence>
> <any namespace="##local" minOccurs="1" maxOccurs="1"/>
> </sequence>
> </complexType>
> <complexType name="ExemplarType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="InstanceType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="getExemplarType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> </complexType>
> <complexType name="getExemplarResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="exemplar" type="fw:ExemplarType"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> <attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseConditionsType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="conditionInstance" maxOccurs="unbounded">
> <complexType>
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
> <attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
> <attribute name="constraint" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> </element>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="CreateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="RetrieveType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="UpdateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="DeleteType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="StatusResponseType">
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </complexType>
> <complexType name="InstanceResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <simpleType name="MethodListType">
> <list itemType="string"/>
> </simpleType>
> <attributeGroup name="ResponseAttributeGroup">
> <attribute name="responseCode" type="integer" use="optional" default="0"/>
> <attribute name="responseMessage" type="string" use="optional"/>
> </attributeGroup>
> <element name="getExemplar" type="fw:getExemplarType"/>
> <element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
> <element name="browse" type="fw:BrowseConditionsType"/>
> <element name="browseResponse" type="fw:BrowseResponseType"/>
> <element name="browseNext" type="fw:BrowseConditionsType"/>
> <element name="browseNextResponse" type="fw:BrowseResponseType"/>
> <element name="browsePrevious" type="fw:BrowseConditionsType"/>
> <element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
> <element name="create" type="fw:CreateType"/>
> <element name="createResponse" type="fw:InstanceResponseType"/>
> <element name="retrieve" type="fw:RetrieveType"/>
> <element name="retrieveResponse" type="fw:InstanceResponseType"/>
> <element name="update" type="fw:UpdateType"/>
> <element name="updateResponse" type="fw:InstanceResponseType"/>
> <element name="delete" type="fw:DeleteType"/>
> <element name="deleteResponse" type="fw:StatusResponseType"/>
> </schema>
> </types>
> <message name="getExemplarRequest">
> <part name="getExemplarRequest" element="fw:getExemplar"/>
> </message>
> <message name="getExemplarResponse">
> <part name="getExemplarResponse" element="fw:getExemplarResponse"/>
> </message>
> <message name="browseRequest">
> <part name="browseRequest" element="fw:browse"/>
> </message>
> <message name="browseResponse">
> <part name="browseResponse" element="fw:browseResponse"/>
> </message>
> <message name="browseNextRequest">
> <part name="browseNext" element="fw:browseNext"/>
> </message>
> <message name="browseNextResponse">
> <part name="browseNextResponse" element="fw:browseNextResponse"/>
> </message>
> <message name="browsePreviousRequest">
> <part name="browsePrevious" element="fw:browsePrevious"/>
> </message>
> <message name="browsePreviousResponse">
> <part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
> </message>
> <message name="createRequest">
> <part name="create" element="fw:create"/>
> </message>
> <message name="createResponse">
> <part name="createResponse" element="fw:createResponse"/>
> </message>
> <message name="retrieveRequest">
> <part name="retrieve" element="fw:retrieve"/>
> </message>
> <message name="retrieveResponse">
> <part name="retrieveResponse" element="fw:retrieveResponse"/>
> </message>
> <message name="updateRequest">
> <part name="updateRequest" element="fw:update"/>
> </message>
> <message name="updateResponse">
> <part name="updateResponse" element="fw:updateResponse"/>
> </message>
> <message name="deleteRequest">
> <part name="deleteRequest" element="fw:delete"/>
> </message>
> <message name="deleteResponse">
> <part name="deleteResponse" element="fw:deleteResponse"/>
> </message>
> <portType name="IFramewareService">
> <operation name="getExemplar">
> <input message="fw:getExemplarRequest"/>
> <output message="fw:getExemplarResponse"/>
> </operation>
> <operation name="browse">
> <input message="fw:browseRequest"/>
> <output message="fw:browseResponse"/>
> </operation>
> <operation name="browseNext">
> <input message="fw:browseNextRequest"/>
> <output message="fw:browseNextResponse"/>
> </operation>
> <operation name="browsePrevious">
> <input message="fw:browsePreviousRequest"/>
> <output message="fw:browsePreviousResponse"/>
> </operation>
> <operation name="create">
> <input message="fw:createRequest"/>
> <output message="fw:createResponse"/>
> </operation>
> <operation name="retrieve">
> <input message="fw:retrieveRequest"/>
> <output message="fw:retrieveResponse"/>
> </operation>
> <operation name="update">
> <input message="fw:updateRequest"/>
> <output message="fw:updateResponse"/>
> </operation>
> <operation name="delete">
> <input message="fw:deleteRequest"/>
> <output message="fw:deleteResponse"/>
> </operation>
> </portType>
> <binding name="FramewareSoapBinding" type="fw:IFramewareService">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="getExemplar">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browse">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browseNext">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browsePrevious">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="create">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="retrieve">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="update">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="delete">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="FramewareService">
> <port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
> <soap:address location="http://localhost/Frameware/customers/customers.srf"/>
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Reopened: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Posted by "Bill Mitchell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Mitchell reopened AXIS2C-768:
----------------------------------
Thanks to your efforts, Dimuthu, to fix the crash in the WSDL2C tool, after downloading the nightly build I was able to test the generated classes. I observed four errors in the generated stubs for the adb types that cause compilation errors under VisualStudio:
(1) The adb_<type>_create function fails to compile. Unlike the other methods, it includes an AXIS2_EXTERN modifier in the .c and .h files.
(2) The adb_<type>_serialize function fails to compile. After verifying the response, detecting an error and logging it, it attempts to return AXIS2_FAILURE from a function whose prototype returns a pointer.
(3) A similar error appears in the adb_<type>_get_<type> getter function. When using AXIS2_PARAM_CHECK to ensure that the provided parameter is present, it returns AXIS2_FAILURE from a function whose prototype returns a pointer.
(4) In the get_<type>_responsetype routine, adb_<type>_deserialize_from_string is passed a pointer of type (void) and expects a pointer with a real type, as is provided correctly on the next line where the adb_get<type>_set_supportedMethods is called.
(I'm not sure if this ought to be a reopened issue, or a new issue, but it seems convenient to track it all as part of one .wsdl not being handled correctly.)
> Null pointer exception in WSDL2C compiling schema when generating ADB
> ---------------------------------------------------------------------
>
> Key: AXIS2C-768
> URL: https://issues.apache.org/jira/browse/AXIS2C-768
> Project: Axis2-C
> Issue Type: Bug
> Components: wsdl2c tool
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Bill Mitchell
> Fix For: 1.2.0
>
> Attachments: case23.tar.gz
>
>
> When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
> The exception trace is:
> >java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
> Retrieving document at 'service.wsdl'.
> 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:278)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
> at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
> ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
> ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
> at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
> at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
> at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
> at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
> at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
> at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
> at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
> ... 29 more
> I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
> The contents of service.wsdl are:
> <?xml version="1.0"?>
> <definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
> <types>
> <schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
> <complexType name="ModelType">
> <sequence>
> <any namespace="##local" minOccurs="1" maxOccurs="1"/>
> </sequence>
> </complexType>
> <complexType name="ExemplarType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="InstanceType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="getExemplarType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> </complexType>
> <complexType name="getExemplarResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="exemplar" type="fw:ExemplarType"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> <attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseConditionsType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="conditionInstance" maxOccurs="unbounded">
> <complexType>
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
> <attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
> <attribute name="constraint" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> </element>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="CreateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="RetrieveType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="UpdateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="DeleteType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="StatusResponseType">
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </complexType>
> <complexType name="InstanceResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <simpleType name="MethodListType">
> <list itemType="string"/>
> </simpleType>
> <attributeGroup name="ResponseAttributeGroup">
> <attribute name="responseCode" type="integer" use="optional" default="0"/>
> <attribute name="responseMessage" type="string" use="optional"/>
> </attributeGroup>
> <element name="getExemplar" type="fw:getExemplarType"/>
> <element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
> <element name="browse" type="fw:BrowseConditionsType"/>
> <element name="browseResponse" type="fw:BrowseResponseType"/>
> <element name="browseNext" type="fw:BrowseConditionsType"/>
> <element name="browseNextResponse" type="fw:BrowseResponseType"/>
> <element name="browsePrevious" type="fw:BrowseConditionsType"/>
> <element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
> <element name="create" type="fw:CreateType"/>
> <element name="createResponse" type="fw:InstanceResponseType"/>
> <element name="retrieve" type="fw:RetrieveType"/>
> <element name="retrieveResponse" type="fw:InstanceResponseType"/>
> <element name="update" type="fw:UpdateType"/>
> <element name="updateResponse" type="fw:InstanceResponseType"/>
> <element name="delete" type="fw:DeleteType"/>
> <element name="deleteResponse" type="fw:StatusResponseType"/>
> </schema>
> </types>
> <message name="getExemplarRequest">
> <part name="getExemplarRequest" element="fw:getExemplar"/>
> </message>
> <message name="getExemplarResponse">
> <part name="getExemplarResponse" element="fw:getExemplarResponse"/>
> </message>
> <message name="browseRequest">
> <part name="browseRequest" element="fw:browse"/>
> </message>
> <message name="browseResponse">
> <part name="browseResponse" element="fw:browseResponse"/>
> </message>
> <message name="browseNextRequest">
> <part name="browseNext" element="fw:browseNext"/>
> </message>
> <message name="browseNextResponse">
> <part name="browseNextResponse" element="fw:browseNextResponse"/>
> </message>
> <message name="browsePreviousRequest">
> <part name="browsePrevious" element="fw:browsePrevious"/>
> </message>
> <message name="browsePreviousResponse">
> <part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
> </message>
> <message name="createRequest">
> <part name="create" element="fw:create"/>
> </message>
> <message name="createResponse">
> <part name="createResponse" element="fw:createResponse"/>
> </message>
> <message name="retrieveRequest">
> <part name="retrieve" element="fw:retrieve"/>
> </message>
> <message name="retrieveResponse">
> <part name="retrieveResponse" element="fw:retrieveResponse"/>
> </message>
> <message name="updateRequest">
> <part name="updateRequest" element="fw:update"/>
> </message>
> <message name="updateResponse">
> <part name="updateResponse" element="fw:updateResponse"/>
> </message>
> <message name="deleteRequest">
> <part name="deleteRequest" element="fw:delete"/>
> </message>
> <message name="deleteResponse">
> <part name="deleteResponse" element="fw:deleteResponse"/>
> </message>
> <portType name="IFramewareService">
> <operation name="getExemplar">
> <input message="fw:getExemplarRequest"/>
> <output message="fw:getExemplarResponse"/>
> </operation>
> <operation name="browse">
> <input message="fw:browseRequest"/>
> <output message="fw:browseResponse"/>
> </operation>
> <operation name="browseNext">
> <input message="fw:browseNextRequest"/>
> <output message="fw:browseNextResponse"/>
> </operation>
> <operation name="browsePrevious">
> <input message="fw:browsePreviousRequest"/>
> <output message="fw:browsePreviousResponse"/>
> </operation>
> <operation name="create">
> <input message="fw:createRequest"/>
> <output message="fw:createResponse"/>
> </operation>
> <operation name="retrieve">
> <input message="fw:retrieveRequest"/>
> <output message="fw:retrieveResponse"/>
> </operation>
> <operation name="update">
> <input message="fw:updateRequest"/>
> <output message="fw:updateResponse"/>
> </operation>
> <operation name="delete">
> <input message="fw:deleteRequest"/>
> <output message="fw:deleteResponse"/>
> </operation>
> </portType>
> <binding name="FramewareSoapBinding" type="fw:IFramewareService">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="getExemplar">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browse">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browseNext">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browsePrevious">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="create">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="retrieve">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="update">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="delete">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="FramewareService">
> <port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
> <soap:address location="http://localhost/Frameware/customers/customers.srf"/>
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Commented: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Posted by "Bill Mitchell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12552857 ]
Bill Mitchell commented on AXIS2C-768:
--------------------------------------
I have regenerated stubs with the patch applied and it does resolve the compilation problems. Thanks.
> Null pointer exception in WSDL2C compiling schema when generating ADB
> ---------------------------------------------------------------------
>
> Key: AXIS2C-768
> URL: https://issues.apache.org/jira/browse/AXIS2C-768
> Project: Axis2-C
> Issue Type: Bug
> Components: wsdl2c tool
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Bill Mitchell
> Assignee: Dimuthu Gamage
> Fix For: 1.2.0
>
> Attachments: CADBBeanTemplateHeader.xsl.diff, CADBBeanTemplateSource.xsl.diff, case23.tar.gz
>
>
> When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
> The exception trace is:
> >java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
> Retrieving document at 'service.wsdl'.
> 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:278)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
> at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
> ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
> ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
> at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
> at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
> at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
> at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
> at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
> at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
> at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
> ... 29 more
> I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
> The contents of service.wsdl are:
> <?xml version="1.0"?>
> <definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
> <types>
> <schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
> <complexType name="ModelType">
> <sequence>
> <any namespace="##local" minOccurs="1" maxOccurs="1"/>
> </sequence>
> </complexType>
> <complexType name="ExemplarType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="InstanceType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="getExemplarType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> </complexType>
> <complexType name="getExemplarResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="exemplar" type="fw:ExemplarType"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> <attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseConditionsType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="conditionInstance" maxOccurs="unbounded">
> <complexType>
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
> <attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
> <attribute name="constraint" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> </element>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="CreateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="RetrieveType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="UpdateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="DeleteType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="StatusResponseType">
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </complexType>
> <complexType name="InstanceResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <simpleType name="MethodListType">
> <list itemType="string"/>
> </simpleType>
> <attributeGroup name="ResponseAttributeGroup">
> <attribute name="responseCode" type="integer" use="optional" default="0"/>
> <attribute name="responseMessage" type="string" use="optional"/>
> </attributeGroup>
> <element name="getExemplar" type="fw:getExemplarType"/>
> <element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
> <element name="browse" type="fw:BrowseConditionsType"/>
> <element name="browseResponse" type="fw:BrowseResponseType"/>
> <element name="browseNext" type="fw:BrowseConditionsType"/>
> <element name="browseNextResponse" type="fw:BrowseResponseType"/>
> <element name="browsePrevious" type="fw:BrowseConditionsType"/>
> <element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
> <element name="create" type="fw:CreateType"/>
> <element name="createResponse" type="fw:InstanceResponseType"/>
> <element name="retrieve" type="fw:RetrieveType"/>
> <element name="retrieveResponse" type="fw:InstanceResponseType"/>
> <element name="update" type="fw:UpdateType"/>
> <element name="updateResponse" type="fw:InstanceResponseType"/>
> <element name="delete" type="fw:DeleteType"/>
> <element name="deleteResponse" type="fw:StatusResponseType"/>
> </schema>
> </types>
> <message name="getExemplarRequest">
> <part name="getExemplarRequest" element="fw:getExemplar"/>
> </message>
> <message name="getExemplarResponse">
> <part name="getExemplarResponse" element="fw:getExemplarResponse"/>
> </message>
> <message name="browseRequest">
> <part name="browseRequest" element="fw:browse"/>
> </message>
> <message name="browseResponse">
> <part name="browseResponse" element="fw:browseResponse"/>
> </message>
> <message name="browseNextRequest">
> <part name="browseNext" element="fw:browseNext"/>
> </message>
> <message name="browseNextResponse">
> <part name="browseNextResponse" element="fw:browseNextResponse"/>
> </message>
> <message name="browsePreviousRequest">
> <part name="browsePrevious" element="fw:browsePrevious"/>
> </message>
> <message name="browsePreviousResponse">
> <part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
> </message>
> <message name="createRequest">
> <part name="create" element="fw:create"/>
> </message>
> <message name="createResponse">
> <part name="createResponse" element="fw:createResponse"/>
> </message>
> <message name="retrieveRequest">
> <part name="retrieve" element="fw:retrieve"/>
> </message>
> <message name="retrieveResponse">
> <part name="retrieveResponse" element="fw:retrieveResponse"/>
> </message>
> <message name="updateRequest">
> <part name="updateRequest" element="fw:update"/>
> </message>
> <message name="updateResponse">
> <part name="updateResponse" element="fw:updateResponse"/>
> </message>
> <message name="deleteRequest">
> <part name="deleteRequest" element="fw:delete"/>
> </message>
> <message name="deleteResponse">
> <part name="deleteResponse" element="fw:deleteResponse"/>
> </message>
> <portType name="IFramewareService">
> <operation name="getExemplar">
> <input message="fw:getExemplarRequest"/>
> <output message="fw:getExemplarResponse"/>
> </operation>
> <operation name="browse">
> <input message="fw:browseRequest"/>
> <output message="fw:browseResponse"/>
> </operation>
> <operation name="browseNext">
> <input message="fw:browseNextRequest"/>
> <output message="fw:browseNextResponse"/>
> </operation>
> <operation name="browsePrevious">
> <input message="fw:browsePreviousRequest"/>
> <output message="fw:browsePreviousResponse"/>
> </operation>
> <operation name="create">
> <input message="fw:createRequest"/>
> <output message="fw:createResponse"/>
> </operation>
> <operation name="retrieve">
> <input message="fw:retrieveRequest"/>
> <output message="fw:retrieveResponse"/>
> </operation>
> <operation name="update">
> <input message="fw:updateRequest"/>
> <output message="fw:updateResponse"/>
> </operation>
> <operation name="delete">
> <input message="fw:deleteRequest"/>
> <output message="fw:deleteResponse"/>
> </operation>
> </portType>
> <binding name="FramewareSoapBinding" type="fw:IFramewareService">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="getExemplar">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browse">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browseNext">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browsePrevious">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="create">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="retrieve">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="update">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="delete">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="FramewareService">
> <port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
> <soap:address location="http://localhost/Frameware/customers/customers.srf"/>
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Resolved: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Posted by "Dimuthu Gamage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dimuthu Gamage resolved AXIS2C-768.
-----------------------------------
Resolution: Fixed
Fix Version/s: 1.2.0
Fixed
> Null pointer exception in WSDL2C compiling schema when generating ADB
> ---------------------------------------------------------------------
>
> Key: AXIS2C-768
> URL: https://issues.apache.org/jira/browse/AXIS2C-768
> Project: Axis2-C
> Issue Type: Bug
> Components: wsdl2c tool
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Bill Mitchell
> Fix For: 1.2.0
>
> Attachments: case23.tar.gz
>
>
> When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
> The exception trace is:
> >java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
> Retrieving document at 'service.wsdl'.
> 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:278)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
> at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
> ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
> ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
> at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
> at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
> at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
> at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
> at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
> at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
> at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
> ... 29 more
> I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
> The contents of service.wsdl are:
> <?xml version="1.0"?>
> <definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
> <types>
> <schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
> <complexType name="ModelType">
> <sequence>
> <any namespace="##local" minOccurs="1" maxOccurs="1"/>
> </sequence>
> </complexType>
> <complexType name="ExemplarType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="InstanceType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="getExemplarType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> </complexType>
> <complexType name="getExemplarResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="exemplar" type="fw:ExemplarType"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> <attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseConditionsType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="conditionInstance" maxOccurs="unbounded">
> <complexType>
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
> <attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
> <attribute name="constraint" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> </element>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="CreateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="RetrieveType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="UpdateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="DeleteType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="StatusResponseType">
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </complexType>
> <complexType name="InstanceResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <simpleType name="MethodListType">
> <list itemType="string"/>
> </simpleType>
> <attributeGroup name="ResponseAttributeGroup">
> <attribute name="responseCode" type="integer" use="optional" default="0"/>
> <attribute name="responseMessage" type="string" use="optional"/>
> </attributeGroup>
> <element name="getExemplar" type="fw:getExemplarType"/>
> <element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
> <element name="browse" type="fw:BrowseConditionsType"/>
> <element name="browseResponse" type="fw:BrowseResponseType"/>
> <element name="browseNext" type="fw:BrowseConditionsType"/>
> <element name="browseNextResponse" type="fw:BrowseResponseType"/>
> <element name="browsePrevious" type="fw:BrowseConditionsType"/>
> <element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
> <element name="create" type="fw:CreateType"/>
> <element name="createResponse" type="fw:InstanceResponseType"/>
> <element name="retrieve" type="fw:RetrieveType"/>
> <element name="retrieveResponse" type="fw:InstanceResponseType"/>
> <element name="update" type="fw:UpdateType"/>
> <element name="updateResponse" type="fw:InstanceResponseType"/>
> <element name="delete" type="fw:DeleteType"/>
> <element name="deleteResponse" type="fw:StatusResponseType"/>
> </schema>
> </types>
> <message name="getExemplarRequest">
> <part name="getExemplarRequest" element="fw:getExemplar"/>
> </message>
> <message name="getExemplarResponse">
> <part name="getExemplarResponse" element="fw:getExemplarResponse"/>
> </message>
> <message name="browseRequest">
> <part name="browseRequest" element="fw:browse"/>
> </message>
> <message name="browseResponse">
> <part name="browseResponse" element="fw:browseResponse"/>
> </message>
> <message name="browseNextRequest">
> <part name="browseNext" element="fw:browseNext"/>
> </message>
> <message name="browseNextResponse">
> <part name="browseNextResponse" element="fw:browseNextResponse"/>
> </message>
> <message name="browsePreviousRequest">
> <part name="browsePrevious" element="fw:browsePrevious"/>
> </message>
> <message name="browsePreviousResponse">
> <part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
> </message>
> <message name="createRequest">
> <part name="create" element="fw:create"/>
> </message>
> <message name="createResponse">
> <part name="createResponse" element="fw:createResponse"/>
> </message>
> <message name="retrieveRequest">
> <part name="retrieve" element="fw:retrieve"/>
> </message>
> <message name="retrieveResponse">
> <part name="retrieveResponse" element="fw:retrieveResponse"/>
> </message>
> <message name="updateRequest">
> <part name="updateRequest" element="fw:update"/>
> </message>
> <message name="updateResponse">
> <part name="updateResponse" element="fw:updateResponse"/>
> </message>
> <message name="deleteRequest">
> <part name="deleteRequest" element="fw:delete"/>
> </message>
> <message name="deleteResponse">
> <part name="deleteResponse" element="fw:deleteResponse"/>
> </message>
> <portType name="IFramewareService">
> <operation name="getExemplar">
> <input message="fw:getExemplarRequest"/>
> <output message="fw:getExemplarResponse"/>
> </operation>
> <operation name="browse">
> <input message="fw:browseRequest"/>
> <output message="fw:browseResponse"/>
> </operation>
> <operation name="browseNext">
> <input message="fw:browseNextRequest"/>
> <output message="fw:browseNextResponse"/>
> </operation>
> <operation name="browsePrevious">
> <input message="fw:browsePreviousRequest"/>
> <output message="fw:browsePreviousResponse"/>
> </operation>
> <operation name="create">
> <input message="fw:createRequest"/>
> <output message="fw:createResponse"/>
> </operation>
> <operation name="retrieve">
> <input message="fw:retrieveRequest"/>
> <output message="fw:retrieveResponse"/>
> </operation>
> <operation name="update">
> <input message="fw:updateRequest"/>
> <output message="fw:updateResponse"/>
> </operation>
> <operation name="delete">
> <input message="fw:deleteRequest"/>
> <output message="fw:deleteResponse"/>
> </operation>
> </portType>
> <binding name="FramewareSoapBinding" type="fw:IFramewareService">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="getExemplar">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browse">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browseNext">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browsePrevious">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="create">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="retrieve">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="update">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="delete">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="FramewareService">
> <port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
> <soap:address location="http://localhost/Frameware/customers/customers.srf"/>
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Updated: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Posted by "Bill Mitchell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Mitchell updated AXIS2C-768:
---------------------------------
Attachment: CADBBeanTemplateHeader.xsl.diff
The attached .diff provides a suggested source change to fix problem (1) in the generated header files.
> Null pointer exception in WSDL2C compiling schema when generating ADB
> ---------------------------------------------------------------------
>
> Key: AXIS2C-768
> URL: https://issues.apache.org/jira/browse/AXIS2C-768
> Project: Axis2-C
> Issue Type: Bug
> Components: wsdl2c tool
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Bill Mitchell
> Fix For: 1.2.0
>
> Attachments: CADBBeanTemplateHeader.xsl.diff, CADBBeanTemplateSource.xsl.diff, case23.tar.gz
>
>
> When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
> The exception trace is:
> >java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
> Retrieving document at 'service.wsdl'.
> 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:278)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
> at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
> ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
> ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
> at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
> at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
> at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
> at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
> at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
> at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
> at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
> ... 29 more
> I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
> The contents of service.wsdl are:
> <?xml version="1.0"?>
> <definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
> <types>
> <schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
> <complexType name="ModelType">
> <sequence>
> <any namespace="##local" minOccurs="1" maxOccurs="1"/>
> </sequence>
> </complexType>
> <complexType name="ExemplarType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="InstanceType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="getExemplarType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> </complexType>
> <complexType name="getExemplarResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="exemplar" type="fw:ExemplarType"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> <attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseConditionsType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="conditionInstance" maxOccurs="unbounded">
> <complexType>
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
> <attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
> <attribute name="constraint" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> </element>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="CreateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="RetrieveType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="UpdateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="DeleteType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="StatusResponseType">
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </complexType>
> <complexType name="InstanceResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <simpleType name="MethodListType">
> <list itemType="string"/>
> </simpleType>
> <attributeGroup name="ResponseAttributeGroup">
> <attribute name="responseCode" type="integer" use="optional" default="0"/>
> <attribute name="responseMessage" type="string" use="optional"/>
> </attributeGroup>
> <element name="getExemplar" type="fw:getExemplarType"/>
> <element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
> <element name="browse" type="fw:BrowseConditionsType"/>
> <element name="browseResponse" type="fw:BrowseResponseType"/>
> <element name="browseNext" type="fw:BrowseConditionsType"/>
> <element name="browseNextResponse" type="fw:BrowseResponseType"/>
> <element name="browsePrevious" type="fw:BrowseConditionsType"/>
> <element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
> <element name="create" type="fw:CreateType"/>
> <element name="createResponse" type="fw:InstanceResponseType"/>
> <element name="retrieve" type="fw:RetrieveType"/>
> <element name="retrieveResponse" type="fw:InstanceResponseType"/>
> <element name="update" type="fw:UpdateType"/>
> <element name="updateResponse" type="fw:InstanceResponseType"/>
> <element name="delete" type="fw:DeleteType"/>
> <element name="deleteResponse" type="fw:StatusResponseType"/>
> </schema>
> </types>
> <message name="getExemplarRequest">
> <part name="getExemplarRequest" element="fw:getExemplar"/>
> </message>
> <message name="getExemplarResponse">
> <part name="getExemplarResponse" element="fw:getExemplarResponse"/>
> </message>
> <message name="browseRequest">
> <part name="browseRequest" element="fw:browse"/>
> </message>
> <message name="browseResponse">
> <part name="browseResponse" element="fw:browseResponse"/>
> </message>
> <message name="browseNextRequest">
> <part name="browseNext" element="fw:browseNext"/>
> </message>
> <message name="browseNextResponse">
> <part name="browseNextResponse" element="fw:browseNextResponse"/>
> </message>
> <message name="browsePreviousRequest">
> <part name="browsePrevious" element="fw:browsePrevious"/>
> </message>
> <message name="browsePreviousResponse">
> <part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
> </message>
> <message name="createRequest">
> <part name="create" element="fw:create"/>
> </message>
> <message name="createResponse">
> <part name="createResponse" element="fw:createResponse"/>
> </message>
> <message name="retrieveRequest">
> <part name="retrieve" element="fw:retrieve"/>
> </message>
> <message name="retrieveResponse">
> <part name="retrieveResponse" element="fw:retrieveResponse"/>
> </message>
> <message name="updateRequest">
> <part name="updateRequest" element="fw:update"/>
> </message>
> <message name="updateResponse">
> <part name="updateResponse" element="fw:updateResponse"/>
> </message>
> <message name="deleteRequest">
> <part name="deleteRequest" element="fw:delete"/>
> </message>
> <message name="deleteResponse">
> <part name="deleteResponse" element="fw:deleteResponse"/>
> </message>
> <portType name="IFramewareService">
> <operation name="getExemplar">
> <input message="fw:getExemplarRequest"/>
> <output message="fw:getExemplarResponse"/>
> </operation>
> <operation name="browse">
> <input message="fw:browseRequest"/>
> <output message="fw:browseResponse"/>
> </operation>
> <operation name="browseNext">
> <input message="fw:browseNextRequest"/>
> <output message="fw:browseNextResponse"/>
> </operation>
> <operation name="browsePrevious">
> <input message="fw:browsePreviousRequest"/>
> <output message="fw:browsePreviousResponse"/>
> </operation>
> <operation name="create">
> <input message="fw:createRequest"/>
> <output message="fw:createResponse"/>
> </operation>
> <operation name="retrieve">
> <input message="fw:retrieveRequest"/>
> <output message="fw:retrieveResponse"/>
> </operation>
> <operation name="update">
> <input message="fw:updateRequest"/>
> <output message="fw:updateResponse"/>
> </operation>
> <operation name="delete">
> <input message="fw:deleteRequest"/>
> <output message="fw:deleteResponse"/>
> </operation>
> </portType>
> <binding name="FramewareSoapBinding" type="fw:IFramewareService">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="getExemplar">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browse">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browseNext">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browsePrevious">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="create">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="retrieve">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="update">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="delete">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="FramewareService">
> <port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
> <soap:address location="http://localhost/Frameware/customers/customers.srf"/>
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Updated: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Posted by "Bill Mitchell (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Mitchell updated AXIS2C-768:
---------------------------------
Attachment: CADBBeanTemplateSource.xsl.diff
The attached .diff file contains suggested source changes that may fix the four problems I observed. I've developed the change but have not tested it, as I've not deciphered how to package up all the jars in the nightly build to produce a new version for testing.
> Null pointer exception in WSDL2C compiling schema when generating ADB
> ---------------------------------------------------------------------
>
> Key: AXIS2C-768
> URL: https://issues.apache.org/jira/browse/AXIS2C-768
> Project: Axis2-C
> Issue Type: Bug
> Components: wsdl2c tool
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Bill Mitchell
> Fix For: 1.2.0
>
> Attachments: CADBBeanTemplateSource.xsl.diff, case23.tar.gz
>
>
> When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
> The exception trace is:
> >java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
> Retrieving document at 'service.wsdl'.
> 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:278)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
> at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
> ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
> ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
> at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
> at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
> at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
> at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
> at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
> at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
> at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
> ... 29 more
> I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
> The contents of service.wsdl are:
> <?xml version="1.0"?>
> <definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
> <types>
> <schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
> <complexType name="ModelType">
> <sequence>
> <any namespace="##local" minOccurs="1" maxOccurs="1"/>
> </sequence>
> </complexType>
> <complexType name="ExemplarType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="InstanceType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="getExemplarType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> </complexType>
> <complexType name="getExemplarResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="exemplar" type="fw:ExemplarType"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> <attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseConditionsType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="conditionInstance" maxOccurs="unbounded">
> <complexType>
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
> <attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
> <attribute name="constraint" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> </element>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="CreateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="RetrieveType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="UpdateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="DeleteType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="StatusResponseType">
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </complexType>
> <complexType name="InstanceResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <simpleType name="MethodListType">
> <list itemType="string"/>
> </simpleType>
> <attributeGroup name="ResponseAttributeGroup">
> <attribute name="responseCode" type="integer" use="optional" default="0"/>
> <attribute name="responseMessage" type="string" use="optional"/>
> </attributeGroup>
> <element name="getExemplar" type="fw:getExemplarType"/>
> <element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
> <element name="browse" type="fw:BrowseConditionsType"/>
> <element name="browseResponse" type="fw:BrowseResponseType"/>
> <element name="browseNext" type="fw:BrowseConditionsType"/>
> <element name="browseNextResponse" type="fw:BrowseResponseType"/>
> <element name="browsePrevious" type="fw:BrowseConditionsType"/>
> <element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
> <element name="create" type="fw:CreateType"/>
> <element name="createResponse" type="fw:InstanceResponseType"/>
> <element name="retrieve" type="fw:RetrieveType"/>
> <element name="retrieveResponse" type="fw:InstanceResponseType"/>
> <element name="update" type="fw:UpdateType"/>
> <element name="updateResponse" type="fw:InstanceResponseType"/>
> <element name="delete" type="fw:DeleteType"/>
> <element name="deleteResponse" type="fw:StatusResponseType"/>
> </schema>
> </types>
> <message name="getExemplarRequest">
> <part name="getExemplarRequest" element="fw:getExemplar"/>
> </message>
> <message name="getExemplarResponse">
> <part name="getExemplarResponse" element="fw:getExemplarResponse"/>
> </message>
> <message name="browseRequest">
> <part name="browseRequest" element="fw:browse"/>
> </message>
> <message name="browseResponse">
> <part name="browseResponse" element="fw:browseResponse"/>
> </message>
> <message name="browseNextRequest">
> <part name="browseNext" element="fw:browseNext"/>
> </message>
> <message name="browseNextResponse">
> <part name="browseNextResponse" element="fw:browseNextResponse"/>
> </message>
> <message name="browsePreviousRequest">
> <part name="browsePrevious" element="fw:browsePrevious"/>
> </message>
> <message name="browsePreviousResponse">
> <part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
> </message>
> <message name="createRequest">
> <part name="create" element="fw:create"/>
> </message>
> <message name="createResponse">
> <part name="createResponse" element="fw:createResponse"/>
> </message>
> <message name="retrieveRequest">
> <part name="retrieve" element="fw:retrieve"/>
> </message>
> <message name="retrieveResponse">
> <part name="retrieveResponse" element="fw:retrieveResponse"/>
> </message>
> <message name="updateRequest">
> <part name="updateRequest" element="fw:update"/>
> </message>
> <message name="updateResponse">
> <part name="updateResponse" element="fw:updateResponse"/>
> </message>
> <message name="deleteRequest">
> <part name="deleteRequest" element="fw:delete"/>
> </message>
> <message name="deleteResponse">
> <part name="deleteResponse" element="fw:deleteResponse"/>
> </message>
> <portType name="IFramewareService">
> <operation name="getExemplar">
> <input message="fw:getExemplarRequest"/>
> <output message="fw:getExemplarResponse"/>
> </operation>
> <operation name="browse">
> <input message="fw:browseRequest"/>
> <output message="fw:browseResponse"/>
> </operation>
> <operation name="browseNext">
> <input message="fw:browseNextRequest"/>
> <output message="fw:browseNextResponse"/>
> </operation>
> <operation name="browsePrevious">
> <input message="fw:browsePreviousRequest"/>
> <output message="fw:browsePreviousResponse"/>
> </operation>
> <operation name="create">
> <input message="fw:createRequest"/>
> <output message="fw:createResponse"/>
> </operation>
> <operation name="retrieve">
> <input message="fw:retrieveRequest"/>
> <output message="fw:retrieveResponse"/>
> </operation>
> <operation name="update">
> <input message="fw:updateRequest"/>
> <output message="fw:updateResponse"/>
> </operation>
> <operation name="delete">
> <input message="fw:deleteRequest"/>
> <output message="fw:deleteResponse"/>
> </operation>
> </portType>
> <binding name="FramewareSoapBinding" type="fw:IFramewareService">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="getExemplar">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browse">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browseNext">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browsePrevious">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="create">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="retrieve">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="update">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="delete">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="FramewareService">
> <port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
> <soap:address location="http://localhost/Frameware/customers/customers.srf"/>
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Commented: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Posted by "Dimuthu Gamage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12551733 ]
Dimuthu Gamage commented on AXIS2C-768:
---------------------------------------
Hi Bill,
The patch is applied, except the line 3468 where you suggest NULL as the return type in failure in that particular function, But there are cases where the retun type is a simple type like int, float. Currently I commented that piece of code,
> Null pointer exception in WSDL2C compiling schema when generating ADB
> ---------------------------------------------------------------------
>
> Key: AXIS2C-768
> URL: https://issues.apache.org/jira/browse/AXIS2C-768
> Project: Axis2-C
> Issue Type: Bug
> Components: wsdl2c tool
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Bill Mitchell
> Fix For: 1.2.0
>
> Attachments: CADBBeanTemplateHeader.xsl.diff, CADBBeanTemplateSource.xsl.diff, case23.tar.gz
>
>
> When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
> The exception trace is:
> >java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
> Retrieving document at 'service.wsdl'.
> 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:278)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
> at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
> ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
> ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
> at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
> at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
> at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
> at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
> at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
> at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
> at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
> ... 29 more
> I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
> The contents of service.wsdl are:
> <?xml version="1.0"?>
> <definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
> <types>
> <schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
> <complexType name="ModelType">
> <sequence>
> <any namespace="##local" minOccurs="1" maxOccurs="1"/>
> </sequence>
> </complexType>
> <complexType name="ExemplarType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="InstanceType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="getExemplarType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> </complexType>
> <complexType name="getExemplarResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="exemplar" type="fw:ExemplarType"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> <attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseConditionsType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="conditionInstance" maxOccurs="unbounded">
> <complexType>
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
> <attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
> <attribute name="constraint" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> </element>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="CreateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="RetrieveType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="UpdateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="DeleteType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="StatusResponseType">
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </complexType>
> <complexType name="InstanceResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <simpleType name="MethodListType">
> <list itemType="string"/>
> </simpleType>
> <attributeGroup name="ResponseAttributeGroup">
> <attribute name="responseCode" type="integer" use="optional" default="0"/>
> <attribute name="responseMessage" type="string" use="optional"/>
> </attributeGroup>
> <element name="getExemplar" type="fw:getExemplarType"/>
> <element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
> <element name="browse" type="fw:BrowseConditionsType"/>
> <element name="browseResponse" type="fw:BrowseResponseType"/>
> <element name="browseNext" type="fw:BrowseConditionsType"/>
> <element name="browseNextResponse" type="fw:BrowseResponseType"/>
> <element name="browsePrevious" type="fw:BrowseConditionsType"/>
> <element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
> <element name="create" type="fw:CreateType"/>
> <element name="createResponse" type="fw:InstanceResponseType"/>
> <element name="retrieve" type="fw:RetrieveType"/>
> <element name="retrieveResponse" type="fw:InstanceResponseType"/>
> <element name="update" type="fw:UpdateType"/>
> <element name="updateResponse" type="fw:InstanceResponseType"/>
> <element name="delete" type="fw:DeleteType"/>
> <element name="deleteResponse" type="fw:StatusResponseType"/>
> </schema>
> </types>
> <message name="getExemplarRequest">
> <part name="getExemplarRequest" element="fw:getExemplar"/>
> </message>
> <message name="getExemplarResponse">
> <part name="getExemplarResponse" element="fw:getExemplarResponse"/>
> </message>
> <message name="browseRequest">
> <part name="browseRequest" element="fw:browse"/>
> </message>
> <message name="browseResponse">
> <part name="browseResponse" element="fw:browseResponse"/>
> </message>
> <message name="browseNextRequest">
> <part name="browseNext" element="fw:browseNext"/>
> </message>
> <message name="browseNextResponse">
> <part name="browseNextResponse" element="fw:browseNextResponse"/>
> </message>
> <message name="browsePreviousRequest">
> <part name="browsePrevious" element="fw:browsePrevious"/>
> </message>
> <message name="browsePreviousResponse">
> <part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
> </message>
> <message name="createRequest">
> <part name="create" element="fw:create"/>
> </message>
> <message name="createResponse">
> <part name="createResponse" element="fw:createResponse"/>
> </message>
> <message name="retrieveRequest">
> <part name="retrieve" element="fw:retrieve"/>
> </message>
> <message name="retrieveResponse">
> <part name="retrieveResponse" element="fw:retrieveResponse"/>
> </message>
> <message name="updateRequest">
> <part name="updateRequest" element="fw:update"/>
> </message>
> <message name="updateResponse">
> <part name="updateResponse" element="fw:updateResponse"/>
> </message>
> <message name="deleteRequest">
> <part name="deleteRequest" element="fw:delete"/>
> </message>
> <message name="deleteResponse">
> <part name="deleteResponse" element="fw:deleteResponse"/>
> </message>
> <portType name="IFramewareService">
> <operation name="getExemplar">
> <input message="fw:getExemplarRequest"/>
> <output message="fw:getExemplarResponse"/>
> </operation>
> <operation name="browse">
> <input message="fw:browseRequest"/>
> <output message="fw:browseResponse"/>
> </operation>
> <operation name="browseNext">
> <input message="fw:browseNextRequest"/>
> <output message="fw:browseNextResponse"/>
> </operation>
> <operation name="browsePrevious">
> <input message="fw:browsePreviousRequest"/>
> <output message="fw:browsePreviousResponse"/>
> </operation>
> <operation name="create">
> <input message="fw:createRequest"/>
> <output message="fw:createResponse"/>
> </operation>
> <operation name="retrieve">
> <input message="fw:retrieveRequest"/>
> <output message="fw:retrieveResponse"/>
> </operation>
> <operation name="update">
> <input message="fw:updateRequest"/>
> <output message="fw:updateResponse"/>
> </operation>
> <operation name="delete">
> <input message="fw:deleteRequest"/>
> <output message="fw:deleteResponse"/>
> </operation>
> </portType>
> <binding name="FramewareSoapBinding" type="fw:IFramewareService">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="getExemplar">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browse">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browseNext">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browsePrevious">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="create">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="retrieve">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="update">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="delete">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="FramewareService">
> <port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
> <soap:address location="http://localhost/Frameware/customers/customers.srf"/>
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Resolved: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Posted by "Dimuthu Gamage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dimuthu Gamage resolved AXIS2C-768.
-----------------------------------
Resolution: Fixed
Fixed.
> Null pointer exception in WSDL2C compiling schema when generating ADB
> ---------------------------------------------------------------------
>
> Key: AXIS2C-768
> URL: https://issues.apache.org/jira/browse/AXIS2C-768
> Project: Axis2-C
> Issue Type: Bug
> Components: wsdl2c tool
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Bill Mitchell
> Assignee: Dimuthu Gamage
> Fix For: 1.2.0
>
> Attachments: CADBBeanTemplateHeader.xsl.diff, CADBBeanTemplateSource.xsl.diff, case23.tar.gz
>
>
> When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
> The exception trace is:
> >java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
> Retrieving document at 'service.wsdl'.
> 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:278)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
> at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
> ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
> ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
> at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
> at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
> at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
> at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
> at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
> at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
> at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
> ... 29 more
> I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
> The contents of service.wsdl are:
> <?xml version="1.0"?>
> <definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
> <types>
> <schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
> <complexType name="ModelType">
> <sequence>
> <any namespace="##local" minOccurs="1" maxOccurs="1"/>
> </sequence>
> </complexType>
> <complexType name="ExemplarType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="InstanceType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="getExemplarType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> </complexType>
> <complexType name="getExemplarResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="exemplar" type="fw:ExemplarType"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> <attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseConditionsType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="conditionInstance" maxOccurs="unbounded">
> <complexType>
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
> <attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
> <attribute name="constraint" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> </element>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="CreateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="RetrieveType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="UpdateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="DeleteType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="StatusResponseType">
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </complexType>
> <complexType name="InstanceResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <simpleType name="MethodListType">
> <list itemType="string"/>
> </simpleType>
> <attributeGroup name="ResponseAttributeGroup">
> <attribute name="responseCode" type="integer" use="optional" default="0"/>
> <attribute name="responseMessage" type="string" use="optional"/>
> </attributeGroup>
> <element name="getExemplar" type="fw:getExemplarType"/>
> <element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
> <element name="browse" type="fw:BrowseConditionsType"/>
> <element name="browseResponse" type="fw:BrowseResponseType"/>
> <element name="browseNext" type="fw:BrowseConditionsType"/>
> <element name="browseNextResponse" type="fw:BrowseResponseType"/>
> <element name="browsePrevious" type="fw:BrowseConditionsType"/>
> <element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
> <element name="create" type="fw:CreateType"/>
> <element name="createResponse" type="fw:InstanceResponseType"/>
> <element name="retrieve" type="fw:RetrieveType"/>
> <element name="retrieveResponse" type="fw:InstanceResponseType"/>
> <element name="update" type="fw:UpdateType"/>
> <element name="updateResponse" type="fw:InstanceResponseType"/>
> <element name="delete" type="fw:DeleteType"/>
> <element name="deleteResponse" type="fw:StatusResponseType"/>
> </schema>
> </types>
> <message name="getExemplarRequest">
> <part name="getExemplarRequest" element="fw:getExemplar"/>
> </message>
> <message name="getExemplarResponse">
> <part name="getExemplarResponse" element="fw:getExemplarResponse"/>
> </message>
> <message name="browseRequest">
> <part name="browseRequest" element="fw:browse"/>
> </message>
> <message name="browseResponse">
> <part name="browseResponse" element="fw:browseResponse"/>
> </message>
> <message name="browseNextRequest">
> <part name="browseNext" element="fw:browseNext"/>
> </message>
> <message name="browseNextResponse">
> <part name="browseNextResponse" element="fw:browseNextResponse"/>
> </message>
> <message name="browsePreviousRequest">
> <part name="browsePrevious" element="fw:browsePrevious"/>
> </message>
> <message name="browsePreviousResponse">
> <part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
> </message>
> <message name="createRequest">
> <part name="create" element="fw:create"/>
> </message>
> <message name="createResponse">
> <part name="createResponse" element="fw:createResponse"/>
> </message>
> <message name="retrieveRequest">
> <part name="retrieve" element="fw:retrieve"/>
> </message>
> <message name="retrieveResponse">
> <part name="retrieveResponse" element="fw:retrieveResponse"/>
> </message>
> <message name="updateRequest">
> <part name="updateRequest" element="fw:update"/>
> </message>
> <message name="updateResponse">
> <part name="updateResponse" element="fw:updateResponse"/>
> </message>
> <message name="deleteRequest">
> <part name="deleteRequest" element="fw:delete"/>
> </message>
> <message name="deleteResponse">
> <part name="deleteResponse" element="fw:deleteResponse"/>
> </message>
> <portType name="IFramewareService">
> <operation name="getExemplar">
> <input message="fw:getExemplarRequest"/>
> <output message="fw:getExemplarResponse"/>
> </operation>
> <operation name="browse">
> <input message="fw:browseRequest"/>
> <output message="fw:browseResponse"/>
> </operation>
> <operation name="browseNext">
> <input message="fw:browseNextRequest"/>
> <output message="fw:browseNextResponse"/>
> </operation>
> <operation name="browsePrevious">
> <input message="fw:browsePreviousRequest"/>
> <output message="fw:browsePreviousResponse"/>
> </operation>
> <operation name="create">
> <input message="fw:createRequest"/>
> <output message="fw:createResponse"/>
> </operation>
> <operation name="retrieve">
> <input message="fw:retrieveRequest"/>
> <output message="fw:retrieveResponse"/>
> </operation>
> <operation name="update">
> <input message="fw:updateRequest"/>
> <output message="fw:updateResponse"/>
> </operation>
> <operation name="delete">
> <input message="fw:deleteRequest"/>
> <output message="fw:deleteResponse"/>
> </operation>
> </portType>
> <binding name="FramewareSoapBinding" type="fw:IFramewareService">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="getExemplar">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browse">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browseNext">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browsePrevious">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="create">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="retrieve">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="update">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="delete">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="FramewareService">
> <port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
> <soap:address location="http://localhost/Frameware/customers/customers.srf"/>
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org
[jira] Updated: (AXIS2C-768) Null pointer exception in WSDL2C
compiling schema when generating ADB
Posted by "Dimuthu Gamage (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2C-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dimuthu Gamage updated AXIS2C-768:
----------------------------------
Attachment: case23.tar.gz
Please check the latest svn for the fix. You can verify it from the nightly snapshot from http://people.apache.org/dist/axis2/nightly/
Here I have attached a test case for the given wsdl
> Null pointer exception in WSDL2C compiling schema when generating ADB
> ---------------------------------------------------------------------
>
> Key: AXIS2C-768
> URL: https://issues.apache.org/jira/browse/AXIS2C-768
> Project: Axis2-C
> Issue Type: Bug
> Components: wsdl2c tool
> Affects Versions: Current (Nightly)
> Environment: Windows XP
> Reporter: Bill Mitchell
> Attachments: case23.tar.gz
>
>
> When I attempt to generate C bindings for the WSDL file below, the WSDL2C utility fails with a null pointer exception without generating any stub code whatsoever.
> The exception trace is:
> >java org.apache.axis2.wsdl.WSDL2C -or -d adb -wv 1.1 -u -uri service.wsdl
> Retrieving document at 'service.wsdl'.
> 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:278)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
> at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:231)
> ... 2 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
> ... 3 more
> Caused by: org.apache.axis2.schema.SchemaCompilationException: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:197)
> at org.apache.axis2.schema.SchemaCompiler.writeComplexType(SchemaCompiler.java:939)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:925)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1087)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:491)
> at org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1904)
> at org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1791)
> at org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1170)
> at org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1054)
> at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:998)
> at org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:919)
> at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:833)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:531)
> at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:502)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:309)
> at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:219)
> at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:80)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.schema.writer.CStructWriter.addPropertyEntries(CStructWriter.java:635)
> at org.apache.axis2.schema.writer.CStructWriter.populateInfo(CStructWriter.java:516)
> at org.apache.axis2.schema.writer.CStructWriter.getBeanElement(CStructWriter.java:439)
> at org.apache.axis2.schema.writer.CStructWriter.process(CStructWriter.java:320)
> at org.apache.axis2.schema.writer.CStructWriter.write(CStructWriter.java:192)
> ... 29 more
> I receive this failure both with the WSDL2C released in Axis2-1.3 and in the current nightly build I downloaded yesterday. Of course, it is a little difficult to isolate what in the WSDL is causing the failure, as no stub code is generated that might hint at the problem area. The same WSDL is accepted by the Axis2 WSDL2Java utility, so the issue is specific to C code generation. As the WSDL2Java utility accepts the file, this suggests that the WSDL itself is valid. If -d none is specified on the command line, the WSDL2C utility runs to completion, so the issue is specific to the generation of the C data bindings.
> The contents of service.wsdl are:
> <?xml version="1.0"?>
> <definitions xmlns:fw="http://frameware.xcentrisity.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2001/XMLSchema" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://frameware.xcentrisity.com/services/" name="Frameware" ns:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd">
> <types>
> <schema targetNamespace="http://frameware.xcentrisity.com/services/" xmlns="http://www.w3.org/2001/XMLSchema">
> <complexType name="ModelType">
> <sequence>
> <any namespace="##local" minOccurs="1" maxOccurs="1"/>
> </sequence>
> </complexType>
> <complexType name="ExemplarType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="InstanceType">
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="handle" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="getExemplarType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> </complexType>
> <complexType name="getExemplarResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="exemplar" type="fw:ExemplarType"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> <attribute name="supportedMethods" type="fw:MethodListType" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="BrowseConditionsType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="conditionInstance" maxOccurs="unbounded">
> <complexType>
> <complexContent>
> <extension base="fw:ModelType">
> <attribute name="termIndex" type="unsignedInt" use="optional" default="1"/>
> <attribute name="term-index" type="unsignedInt" use="optional" default="1"/>
> <attribute name="constraint" type="string" use="required"/>
> </extension>
> </complexContent>
> </complexType>
> </element>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="CreateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="RetrieveType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="UpdateType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:ModelType"/>
> </sequence>
> <attribute name="name" type="string" use="required"/>
> <attribute name="limit" type="unsignedInt" use="optional"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="DeleteType">
> <attribute name="name" type="string" use="required"/>
> <attribute name="handle" type="string" use="required"/>
> <attribute name="exemplarHandle" type="string" use="required"/>
> <attribute name="userId" type="string" use="optional"/>
> <attribute name="userName" type="string" use="optional"/>
> </complexType>
> <complexType name="StatusResponseType">
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </complexType>
> <complexType name="InstanceResponseType">
> <complexContent>
> <restriction base="anyType">
> <sequence>
> <element name="instance" type="fw:InstanceType" minOccurs="0" maxOccurs="1"/>
> </sequence>
> <attributeGroup ref="fw:ResponseAttributeGroup"/>
> </restriction>
> </complexContent>
> </complexType>
> <simpleType name="MethodListType">
> <list itemType="string"/>
> </simpleType>
> <attributeGroup name="ResponseAttributeGroup">
> <attribute name="responseCode" type="integer" use="optional" default="0"/>
> <attribute name="responseMessage" type="string" use="optional"/>
> </attributeGroup>
> <element name="getExemplar" type="fw:getExemplarType"/>
> <element name="getExemplarResponse" type="fw:getExemplarResponseType"/>
> <element name="browse" type="fw:BrowseConditionsType"/>
> <element name="browseResponse" type="fw:BrowseResponseType"/>
> <element name="browseNext" type="fw:BrowseConditionsType"/>
> <element name="browseNextResponse" type="fw:BrowseResponseType"/>
> <element name="browsePrevious" type="fw:BrowseConditionsType"/>
> <element name="browsePreviousResponse" type="fw:BrowseResponseType"/>
> <element name="create" type="fw:CreateType"/>
> <element name="createResponse" type="fw:InstanceResponseType"/>
> <element name="retrieve" type="fw:RetrieveType"/>
> <element name="retrieveResponse" type="fw:InstanceResponseType"/>
> <element name="update" type="fw:UpdateType"/>
> <element name="updateResponse" type="fw:InstanceResponseType"/>
> <element name="delete" type="fw:DeleteType"/>
> <element name="deleteResponse" type="fw:StatusResponseType"/>
> </schema>
> </types>
> <message name="getExemplarRequest">
> <part name="getExemplarRequest" element="fw:getExemplar"/>
> </message>
> <message name="getExemplarResponse">
> <part name="getExemplarResponse" element="fw:getExemplarResponse"/>
> </message>
> <message name="browseRequest">
> <part name="browseRequest" element="fw:browse"/>
> </message>
> <message name="browseResponse">
> <part name="browseResponse" element="fw:browseResponse"/>
> </message>
> <message name="browseNextRequest">
> <part name="browseNext" element="fw:browseNext"/>
> </message>
> <message name="browseNextResponse">
> <part name="browseNextResponse" element="fw:browseNextResponse"/>
> </message>
> <message name="browsePreviousRequest">
> <part name="browsePrevious" element="fw:browsePrevious"/>
> </message>
> <message name="browsePreviousResponse">
> <part name="browsePreviousResponse" element="fw:browsePreviousResponse"/>
> </message>
> <message name="createRequest">
> <part name="create" element="fw:create"/>
> </message>
> <message name="createResponse">
> <part name="createResponse" element="fw:createResponse"/>
> </message>
> <message name="retrieveRequest">
> <part name="retrieve" element="fw:retrieve"/>
> </message>
> <message name="retrieveResponse">
> <part name="retrieveResponse" element="fw:retrieveResponse"/>
> </message>
> <message name="updateRequest">
> <part name="updateRequest" element="fw:update"/>
> </message>
> <message name="updateResponse">
> <part name="updateResponse" element="fw:updateResponse"/>
> </message>
> <message name="deleteRequest">
> <part name="deleteRequest" element="fw:delete"/>
> </message>
> <message name="deleteResponse">
> <part name="deleteResponse" element="fw:deleteResponse"/>
> </message>
> <portType name="IFramewareService">
> <operation name="getExemplar">
> <input message="fw:getExemplarRequest"/>
> <output message="fw:getExemplarResponse"/>
> </operation>
> <operation name="browse">
> <input message="fw:browseRequest"/>
> <output message="fw:browseResponse"/>
> </operation>
> <operation name="browseNext">
> <input message="fw:browseNextRequest"/>
> <output message="fw:browseNextResponse"/>
> </operation>
> <operation name="browsePrevious">
> <input message="fw:browsePreviousRequest"/>
> <output message="fw:browsePreviousResponse"/>
> </operation>
> <operation name="create">
> <input message="fw:createRequest"/>
> <output message="fw:createResponse"/>
> </operation>
> <operation name="retrieve">
> <input message="fw:retrieveRequest"/>
> <output message="fw:retrieveResponse"/>
> </operation>
> <operation name="update">
> <input message="fw:updateRequest"/>
> <output message="fw:updateResponse"/>
> </operation>
> <operation name="delete">
> <input message="fw:deleteRequest"/>
> <output message="fw:deleteResponse"/>
> </operation>
> </portType>
> <binding name="FramewareSoapBinding" type="fw:IFramewareService">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="getExemplar">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/getExemplar"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browse">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browse"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browseNext">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browseNext"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="browsePrevious">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/browsePrevious"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="create">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/create"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="retrieve">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/retrieve"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="update">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/update"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> <operation name="delete">
> <soap:operation soapAction="http://services.xcentrisity.com/frameware/delete"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
> <service name="FramewareService">
> <port name="FramewareServicePort" binding="fw:FramewareSoapBinding">
> <soap:address location="http://localhost/Frameware/customers/customers.srf"/>
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org