wsdl output specified as being dime causes a NPE in WSDL2Java
-------------------------------------------------------------
Key: AXIS-2104
URL: http://issues.apache.org/jira/browse/AXIS-2104
Project: Apache Axis
Type: Bug
Components: WSDL processing
Versions: beta-3
Environment: Windows 2000, Sun java build 1.5.0_02-b09, Axis 1.3 taken from
nightly build area, on 7th July 2005 (16:30 GMT)
Reporter: david barker
I copied an example wsdl file I found:
I had a wsdl operation with an input that was specified as being DIME encoded.
WSDL2Java accepted it.
I added an output and similarly specified it as DIME. WSDL2Java crashed with
this stack:
java.lang.NullPointerException
at
org.apache.axis.wsdl.symbolTable.SymbolTable.fillInDIMEInformation(SymbolTable.java:2712)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.fillInBindingInfo(SymbolTable.java:2627)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populateBindings(SymbolTable.java:2535)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:744)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:543)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:518)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
at java.lang.Thread.run(Unknown Source)
In version 1.2.1, the stack is not quite the same:
java.lang.NullPointerException
at
org.apache.axis.wsdl.symbolTable.SymbolTable.fillInDIMEInformation(SymbolTable.java:2751)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.fillInBindingInfo(SymbolTable.java:2626)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populateBindings(SymbolTable.java:2534)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:744)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:543)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:518)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
at java.lang.Thread.run(Unknown Source)
WSDL is:
<?xml version="1.0" ?>
<wsdl:definitions
name="DIME Example"
targetNamespace="http://example.com/DimeExample/Service/"
xmlns:svc="http://example.com/DimeExample/Service/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:dime="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
xmlns:content= "http://schemas.xmlsoap.org/ws/2002/04/content-type/"
xmlns:ref="http://schemas.xmlsoap.org/ws/2002/04/reference/"
xmlns:msg="http://example.com/DimeExample/Messages/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xs:schema
targetNamespace="http://example.com/DimeExample/Messages/"
elementFormDefault="qualified">
<xs:import namespace="http://schemas.xmlsoap.org/ws/2002/04/content-type/"/>
<xs:import namespace="http://schemas.xmlsoap.org/ws/2002/04/reference/"/>
<xs:element name="PutCompanyInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="tickerSymbol" type="xs:string"/>
<xs:element name="logo" type="msg:Logo" minOccurs="0"/>
<xs:element name="doc" type="msg:Doc" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="report" type="msg:Report"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="ReferencedBinary">
<xs:simpleContent>
<xs:extension base="xs:base64Binary">
<xs:attribute ref="ref:location" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="Logo">
<xs:simpleContent>
<xs:restriction base="msg:ReferencedBinary">
<xs:annotation>
<xs:appinfo>
<content:mediaType type="image/jpeg"/>
<content:mediaType type="image/gif"/>
</xs:appinfo>
</xs:annotation>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="Doc">
<xs:simpleContent>
<xs:restriction base="msg:ReferencedBinary">
<xs:annotation>
<xs:appinfo>
<content:mediaType
type="text/html; charset=ISO-8859-1"/>
</xs:appinfo>
</xs:annotation>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="Report">
<xs:simpleContent>
<xs:restriction base="msg:ReferencedBinary">
<xs:annotation>
<xs:appinfo>
<content:documentType value="msg:report"/>
</xs:appinfo>
</xs:annotation>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
<xs:element name="report">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<!-- etc. -->
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="PutCompanyInfo">
<wsdl:part name="body" element="msg:PutCompanyInfo"/>
</wsdl:message>
<wsdl:portType name="PortType">
<wsdl:operation name="PutCompanyInfo">
<wsdl:input message="svc:PutCompanyInfo"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SoapDimeBinding" type="svc:PortType">
<soap:binding
transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<wsdl:operation name="PutCompanyInfo">
<soap:operation
soapAction="http://example.com/PutCompanyInfo"/>
<wsdl:input>
<dime:message
layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout"
wsdl:required="true"/>
<soap:body parts="body" use="literal"/>
</wsdl:input>
<wsdl:output>
<dime:message
layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout"
wsdl:required="true"/>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="DimeExample">
<wsdl:port name="SoapDimePort" binding="svc:SoapDimeBinding">
<soap:address location="http://example.com/DimeExample/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira