NullPointerException in WSDL11ToAxisServiceBuilder when importing an output
only operation
------------------------------------------------------------------------------------------
Key: AXIS2-4579
URL: https://issues.apache.org/jira/browse/AXIS2-4579
Project: Axis 2.0 (Axis2)
Issue Type: Bug
Components: kernel
Affects Versions: 1.5
Reporter: Dave Bryant
A null pointer exception occurs in WSDL11ToAxisServiceBuilder when importing
the WSDL below. It includes a notification style operation (i.e. output only),
and the null pointer occurs when the service builder attempts to copy across
the extension elements. The problem is that it tries to copy the extension
elements from the input message rather than the output message - as the input
is null, a null pointer occurs. If the input message was not null this is
still a bug as it is copying the extension elements from the wrong place.
The bug is on line 1343 (revision 822304 from
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java).
{code}
1334 // Create an output message and add
1335 Output wsdl4jOutputMessage = wsdl4jOperation.getOutput();
1336 if (null != wsdl4jOutputMessage) {
1337 AxisMessage outMessage = axisOperation
1338 .getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
1339 Message message = wsdl4jOutputMessage.getMessage();
1340 if (null != message) {
1341
1342 outMessage.setName(message.getQName().getLocalPart());
1343 copyExtensionAttributes(wsdl4jInputMessage.getExtensionAttributes(),
1344 outMessage, PORT_TYPE_OPERATION_OUTPUT);
1345
1346 // wsdl:portType -> wsdl:operation -> wsdl:output
1347 }
{code}
The following WSDL triggers the problem:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://www.example.com/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns="http://www.example.com/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/">
<wsdl:message name="operationResponse">
<wsdl:part name="parameters" element="operationResponse" />
</wsdl:message>
<wsdl:portType name="examplePortType">
<wsdl:operation name="operation">
<wsdl:output message="operationResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="binding" type="examplePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="operation">
<soap:operation soapAction="urn:operation"
style="document" />
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="service">
<wsdl:port name="endpoint" binding="binding">
<soap:address
location="https://127.0.0.1:8444/services/Service/" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.