You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Dave Bryant (JIRA)" <ji...@apache.org> on 2009/12/10 03:35:18 UTC

[jira] Created: (AXIS2-4579) NullPointerException in WSDL11ToAxisServiceBuilder when importing an output only operation

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.


[jira] Assigned: (AXIS2-4579) NullPointerException in WSDL11ToAxisServiceBuilder when importing an output only operation

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Deepal Jayasinghe reassigned AXIS2-4579:
----------------------------------------

    Assignee: Amila Chinthaka Suriarachchi

Amila,
I think you are the only one who can handle this.

> NullPointerException in WSDL11ToAxisServiceBuilder when importing an output only operation
> ------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4579
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4579
>             Project: Axis2
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.5
>            Reporter: Dave Bryant
>            Assignee: Amila Chinthaka Suriarachchi
>
> 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.