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

Raphael Drüner updated AXIS-1727:
---------------------------------

    Attachment: testcase.war

Added an testcase to demonstrate the problem.

The posted WAR is mainly axis standard stuff except for the 
WEB-INF/server-config.wsdd and the files in WEB-INF/classes/testcase.
Put this WAR file into your tomcat webapp dir (tested with Tomcat 5.0.28 and 
Sun JDK 1.4.1_02 on Windows XP) and post the following SOAP Request to 
http://localhost:8080/testcase/services/calc

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsi="http://www
.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
<SOAP-ENV:Body>
 <addWrapped>
  <in0>
   <int1>1</int1>
   <int2>5</int2>
   <int3>5</int3>
   <int4>3</int4>
  </in0>
 </addWrapped>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

This will cause a

java.lang.NullPointerException
        at 
org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:292)
        at 
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
        at 
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
        at 
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
        at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:238)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:386)
        at 
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
...

If you replace the JARs in WEB-INF/lib (which are axis 1.2 RC3) with their axis 
1.1 counterparts, the service will work as expected and returns:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w
3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; >
 <soapenv:Body>
 <addWrappedResponse 
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; >
 <addWrappedReturn xsi:type="xsd:int" >14</addWrappedReturn>
 </addWrappedResponse>
 </soapenv:Body>
</soapenv:Envelope>

BTW: If you move the two type mappings in server-config.wsdd to the <service> 
element, the service will work too (because the bug only affects global type 
mappings).




> wrong restriction in type mapping deployment
> --------------------------------------------
>
>          Key: AXIS-1727
>          URL: http://issues.apache.org/jira/browse/AXIS-1727
>      Project: Axis
>         Type: Bug
>   Components: Deployment / Registries
>     Versions: 1.2RC2
>  Environment: all
>     Reporter: Raphael Drüner
>     Priority: Critical
>  Attachments: testcase.war
>
> The fix of bug AXIS-1271 causes the following bug:
> It is not possible to deploy more than one type mapping for a specific QName. 
> The JAX-RPC 1.1 Spec (15.3) implicitly defines the following elements as key 
> for a (de)serializer:
> - The encoding URI
> - The XML QName
> - The full java class name.
> The WSDDDeployment axis class only uses the qname (and since 1.2 RC2 the 
> encoding URI too) as key. The flexibility of having more than one java class 
> that maps to a single QName (e.g. xsd:string) is necessary to integrate 
> legacy systems.

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to