You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Richards, Mark" <Ma...@fmr.com> on 2003/01/28 19:14:30 UTC
WSDL2Java throws a Null Pointer exception when processing multipa
rt WSDL
Hello,
I have WebSphere service which is based on Apache SOAP 2.x that has
multipart WSDL.
When I try to create a client with this, WSDL2Java throws a Null Pointer
Exception.
I have tried this with both release 1.0 and 1.1b.
java org.apache.axis.wsdl.WSDL2Java
http://localhost:8080/simple/wsdl/smallTest-service.wsdl
ava.lang.NullPointerException
at
org.apache.crimson.tree.ElementNode.getAttributeNodeNS(ElementNode.java:415)
at com.ibm.wsdl.util.xml.DOMUtils.getAttributeNS(Unknown
Source)
at
com.ibm.wsdl.util.xml.DOMUtils.getNamespaceURIFromPrefix(Unknown Source)
at
com.ibm.wsdl.util.xml.DOMUtils.getQualifiedAttributeValue(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parsePort(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseService(Unknown
Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown
Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:369)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:358)
at
org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:243)
at java.lang.Thread.run(Thread.java:484)
It's easy enough to work around, I just merge the files into one, but I
wanted to clarify if Axis is meant to support this?
Here is the WSDL for a simple case.
service
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="smallTestService"
targetNamespace="http://localhost:8080/simple/wsdl/smallTest-service.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:binding="http://www.smalltest.com/definitions/smallTestRemoteInterface
"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://localhost:8080/simple/wsdl/smallTest-service.wsdl">
<import
location="http://localhost:8080/simple/wsdl/smallTest-binding.wsdl"
namespace="http://www.smalltest.com/definitions/smallTestRemoteInterface"/>
<service name="smallTestService">
<port binding="binding:smallTestBinding" name="smallTestPort">
<soap:address
location="http://localhost:8080/simple/servlet/rpcrouter"/>
</port>
</service>
</definitions>
Binding
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="smallTest-binding"
targetNamespace="http://www.smalltest.com/definitions/smallTestRemoteInterfa
ce"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.smalltest.com/definitions/smallTestRemoteInterface"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<message name="echoIntRequest">
<part name="myNum" type="xsd:int"/>
</message>
<message name="echoIntResponse">
<part name="result" type="xsd:int"/>
</message>
<portType name="smallTest">
<operation name="echoInt" parameterOrder="myNum">
<input message="tns:echoIntRequest" name="echoIntRequest"/>
<output message="tns:echoIntResponse" name="echoIntResponse"/>
</operation>
</portType>
<binding name="smallTestBinding" type="tns:smallTest">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="echoInt">
<soap:operation soapAction="" style="rpc"/>
<input name="echoIntRequest">
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://tempuri.org/smallTest" use="encoded"/>
</input>
<output name="echoIntResponse">
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://tempuri.org/smallTest" use="encoded"/>
</output>
</operation>
</binding>
</definitions>
Thanks,
Mark
==================
Mark Richards
Any views expressed are not necessarily those of my company !