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 "Glen Daniels (JIRA)" <ax...@ws.apache.org> on 2004/11/06 23:11:35 UTC

[jira] Updated: (AXIS-1649) Multiple parameters decoding fails (Null Pointer) when in document/literal SOAP message on the server side

     [ http://nagoya.apache.org/jira/browse/AXIS-1649?page=history ]

Glen Daniels updated AXIS-1649:
-------------------------------

    Summary: Multiple parameters decoding fails (Null Pointer) when in document/literal SOAP message on the server side  (was: xsd:int parameters decoding fails (Null Pointer) when in document/literal SOAP message on the server side)

I renamed this bug to be more accurate.  The problem is that you have a WSDL with multiple <part>s in doc/lit mode, which we do not currently support.  I'll see if fixing this breaks anything else.

> Multiple parameters decoding fails (Null Pointer) when in document/literal SOAP message on the server side
> ----------------------------------------------------------------------------------------------------------
>
>          Key: AXIS-1649
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1649
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2RC1
>  Environment: jakarta-tomcat-4.1.30 / AXIS V1.1 or V1.2 RC1 / java1.4.2_02 / HP-UX box
>     Reporter: Olivier Montabert
>     Priority: Blocker

>
> Hi,
> I encountered a bug (Null Pointer) that appears while 
> decoding xsd:int parameters from document/literal SOAP message on the server side. This problem appears with AXIS V1.1 and V1.2 RC1.
> You could find at the end of the mail a WSDL and a client sample, to reproduce the problem.
> Hereafter the encountered fault for
> AXIS V1.1
> ---------
>      [java] AxisFault
>      [java]  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>      [java]  faultSubcode: 
>      [java]  faultString: java.lang.NullPointerException
>      [java]  faultActor: 
>      [java]  faultNode: 
>      [java]  faultDetail: 
>      [java] 	{http://xml.apache.org/axis/}stackTrace: AxisFault
>      [java]  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>      [java]  faultSubcode: 
>      [java]  faultString: java.lang.NullPointerException
>      [java]  faultActor: 
>      [java]  faultNode: 
>      [java]  faultDetail: 
> AXIS V1.2 RC1
> -------------
>      [java] AxisFault
>      [java]  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>      [java]  faultSubcode: 
>      [java]  faultString: java.lang.NullPointerException
>      [java]  faultActor: 
>      [java]  faultNode: 
>      [java]  faultDetail: 
>      [java] {http://xml.apache.org/axis/}hostname:hard.vbe.cpqcorp.net
> Regards,
> Olivier Montabert
> IntTest.wsdl
> ------------
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://IntTestService.wsdl" xmlns:inttest-wsdl="http://IntTestService.wsdl" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:sa-xsd="http://IntTest.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <wsdl:types>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://IntTest.xsd" xmlns:sa-xsd="http://IntTest.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
>    <!-- Types from inttest service -->
>    <xs:complexType name="RegistrationId">
>     <xs:sequence>
>      <xs:element name="registrationId" nillable="false" type="xsd:string">
>      </xs:element>
>      <xs:element name="version" nillable="false" type="xsd:string">
>      </xs:element>
>     </xs:sequence>
>    </xs:complexType>
> </xs:schema>
>   <xs:schema elementFormDefault="qualified"
> 	targetNamespace="http://IntTestService.wsdl">
>    <xs:element name="regId" type="sa-xsd:RegistrationId"/>
>    <xs:element name="maxCount" type="xsd:int"/>
> 	
>   </xs:schema>
>   </wsdl:types>
>    <wsdl:message name="getResponse">
>    </wsdl:message>
>    <wsdl:message name="getRequest">
>       <wsdl:part name="regId" element="inttest-wsdl:regId"/>
>       <wsdl:part name="maxCount" element="inttest-wsdl:maxCount"/>
>    </wsdl:message>
>    <wsdl:portType name="IntTest">
>       <wsdl:operation name="get" parameterOrder="regId maxCount">
>          <wsdl:input name="getRequest" message="inttest-wsdl:getRequest"/>
>          <wsdl:output name="getResponse" message="inttest-wsdl:getResponse"/>
>       </wsdl:operation>
>    </wsdl:portType>
>    <wsdl:binding name="IntTestSOAP" type="inttest-wsdl:IntTest">
>       <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>       <wsdl:operation name="get">
>          <wsdlsoap:operation soapAction="get"/>
>          <wsdl:input name="getRequest">
>             <wsdlsoap:body use="literal"/>
>          </wsdl:input>
>          <wsdl:output name="getResponse">
>             <wsdlsoap:body use="literal"/>
>          </wsdl:output>
>       </wsdl:operation>
>    </wsdl:binding>
>    <wsdl:service name="IntTestService">
>       <wsdl:port name="IntTest" binding="inttest-wsdl:IntTestSOAP">
>          <wsdlsoap:address location="http://localhost:1973/ovsqm/services/IntTestService"/>
>       </wsdl:port>
>    </wsdl:service>
> </wsdl:definitions>
> IntTestClient.java
> ------------------
> package inttest;
> import inttest.RegistrationId;
> import inttest.IntTestServiceLocator;
> /**
>  * Add the following method to the IntTestServiceLocator classes
>  * generated by Axis v1_1:
>  public void setIntTestEndpointAddress(String endpointAddress) {
>      IntTest_address = endpointAddress;
>  }
>  *
>  */   
> public class IntTestClient {
>     public static void main(String[] argv) {
> 	try {
> 	    IntTestServiceLocator intTestLocator = new IntTestServiceLocator();
> 	    System.out.println("Connect to endpoint:"+argv[0]);
> 	    intTestLocator.setIntTestEndpointAddress(argv[0]);
> 	    IntTest intTest 
> 		= intTestLocator.getIntTest();
> 	    RegistrationId regId = new RegistrationId("regId1234", "v1_0");
> 	    intTest.get(regId, 4);
> 	} catch (Exception e) {
> 	    e.printStackTrace();
> 	}
>     }
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira