You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Cédric Chabanois <CC...@cognicase.fr> on 2002/11/28 15:54:35 UTC

RE: INOUT / OUT parameters

> Hi,
> 
> Has anyone used OUT/INOUT parameters in an Axis SOAP service 
> before ? If so;

Me and it works well.
 
> Do you need to provide Serializers/Deserializers to cope with 
> the Handlers ?
> 
> If I want to use a String (or other basic type) as an INOUT 
> parameter should
> I be using 'avax.xml.rpc.holders.StringHolder' and is there already a
> (de)serialiser for this ?

For string, the holder class is javax.xml.rpc.holders.StringHolder. Many
holders are already defined in javax.xml.rpc.holders
You don't need to provide a serialiser (even if you use a bean holder or
array holder but you will need to write your holder classes in these cases)

> What should the WSDD look like ?

something like :

<deployment
    xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

  <service name="TEST3" provider="java:RPC">
    <parameter name="allowedMethods" value="*"/>
    <parameter name="wsdlPortType" value="TEST3"/>
    <parameter name="wsdlTargetNamespace" value="http://soapNcl/TEST3/"/>
    <parameter name="className"
value="fr.cognicase.webservices.TEST3.TEST3BindingImpl"/>
      <beanMapping qname="ns:SEG1Bean" xmlns:ns="http://soapNcl/TEST3/"
 
languageSpecificType="java:fr.cognicase.webservices.COMMON.SEG1Bean"/>

      <operation name="MODIFYCSTRING" >
        <parameter name="PARAM" mode="INOUT"/>
      </operation>
      <operation name="MODIFYINT4" >
        <parameter name="PARAM" mode="INOUT"/>
      </operation>
      <operation name="MODIFYNUM4" >
        <parameter name="PARAM" mode="INOUT"/>
      </operation>
      <operation name="MODIFYSEG" >
        <parameter name="PARAM" mode="INOUT"/>
      </operation>
  </service>
</deployment>

Cédric Chabanois