Hi everybody,

I have a method in my service which return an ArrayList. In the SoapMonitor I see that:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
 <soapenv:Header>
<ns1:sessionID soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"; soapenv:mustUnderstand="0" xsi:type="soapenc:long" xmlns:ns1="http://xml.apache.org/axis/session"; xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>-3238605033002585696</ns1:sessionID>
 </soapenv:Header>
 <soapenv:Body>
<ns2:getLaunchablesResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns2="RmiSoapWorkSession">
     <getLaunchablesReturn href="#id0"/>
   </ns2:getLaunchablesResponse>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; soapenc:arrayType="xsd:anyType[3]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
     <multiRef href="#id1"/>
     <multiRef href="#id2"/>
     <multiRef href="#id3"/>
   </multiRef>
<multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; xsi:type="ns3:Launchable" xmlns:ns3="urn:BeanService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
     <defaultDescription xsi:type="xsd:string" xsi:nil="true"/>
     <engineId xsi:type="xsd:string">mainEngine</engineId>
     <launchItem xsi:type="xsd:boolean">false</launchItem>
<url xsi:type="xsd:string">http://localhost:7079/webService_2.0.xml</url>
   </multiRef>
<multiRef id="id3" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; xsi:type="ns4:Launchable" xmlns:ns4="urn:BeanService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
     <defaultDescription xsi:type="xsd:string" xsi:nil="true"/>
     <engineId xsi:type="xsd:string">mainEngine</engineId>
     <launchItem xsi:type="xsd:boolean">false</launchItem>
<url xsi:type="xsd:string">http://localhost:7079/webService_3.0.xml</url>
   </multiRef>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; xsi:type="ns5:Launchable" xmlns:ns5="urn:BeanService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
     <defaultDescription xsi:type="xsd:string" xsi:nil="true"/>
     <engineId xsi:type="xsd:string">mainEngine</engineId>
     <launchItem xsi:type="xsd:boolean">false</launchItem>
<url xsi:type="xsd:string">http://localhost:7079/webService_1.0.xml</url>
   </multiRef>
 </soapenv:Body>
</soapenv:Envelope>

But in the client I have a NullPointerException why?

I use to deploy my servie the next deploy.wsdd:
<deployment xmlns="http://xml.apache.org/axis/wsdd/"; xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
   <service name="RmiSoapWorkSession" provider="java:RPC">
       <requestFlow>
           <handler type="session"/>
           <handler type="soapmonitor"/>
       </requestFlow>
       <responseFlow>
           <handler type="session"/>
           <handler type="soapmonitor"/>
       </responseFlow>
<parameter name="className" value="openwfe.org.worklist.ws.impl.RmiSoapWorkSession"/> <parameter name="allowedMethods" value="Hello authentify countWorkItems getStoreNames findFlowInstance getHeaders get getAndLock release save forward getLaunchables launch delegate getParticipantsForDelegation delegateToParticipant checkPermission"/>
       <parameter name="scope" value="Session"/>
<beanMapping qname="ns:InFlowWorkItem" xmlns:ns="urn:BeanService" languageSpecificType="java:openwfe.org.engine.workitem.InFlowWorkItem"/> <beanMapping qname="ns:FlowExpressionId" xmlns:ns="urn:BeanService" languageSpecificType="java:openwfe.org.engine.expressions.FlowExpressionId"/> <beanMapping qname="ns:LaunchItem" xmlns:ns="urn:BeanService" languageSpecificType="java:openwfe.org.engine.workitem.LaunchItem"/> <beanMapping qname="ns:Header" xmlns:ns="urn:BeanService" languageSpecificType="java:openwfe.org.worklist.Header"/> <beanMapping qname="ns:StringMapAttribute" xmlns:ns="urn:BeanService" languageSpecificType="java:openwfe.org.engine.workitem.StringMapAttribute"/> <beanMapping qname="ns:StringAttribute" xmlns:ns="urn:BeanService" languageSpecificType="java:openwfe.org.engine.workitem.StringAttribute"/> <beanMapping qname="ns:Launchable" xmlns:ns="urn:BeanService" languageSpecificType="java:openwfe.org.worklist.Launchable"/> <beanMapping qname="ns:HistoryItem" xmlns:ns="urn:BeanService" languageSpecificType="java:openwfe.org.engine.workitem.HistoryItem"/> <beanMapping qname="ns:Subject" xmlns:ns="urn:BeanService" languageSpecificType="java:javax.security.auth.Subject"/> <arrayMapping qname="ns:ArrayList" xmlns:ns="urn:BeanService" languageSpecificType="java:java.util.ArrayList" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   </service>
</deployment>

In my client I have the next registrerTypeMapping:
call.registerTypeMapping(Launchable.class, qnLaunchable,
                   new org.apache.axis.encoding.ser.BeanSerializerFactory(
                           Launchable.class, qnLaunchable),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(
                           Launchable.class, qnLaunchable));
call.registerTypeMapping(
                           ArrayList.class,
                           qnArrayList,
new org.apache.axis.encoding.ser.ArraySerializerFactory(), new org.apache.axis.encoding.ser.ArrayDeserializerFactory());

What is wrong?

Thanks,
Christelle

Reply via email to