Hello,

        Create a bean with with fields as needed by the service and then:

        call.registerTypeMapping(YourBean.class, ...);
        As serializer /deserializer use
        org.apache.axis.encoding.ser.BeanDeserializerFactory and
        org.apache.axis.encoding.ser.BeanSerializerFactory.

        Then you populate the bean and push it on the params[] array.

        Hope this helps,
        TM


On Wed, 2 Feb 2005, Suzy Fynes wrote:



Hey,

I'm calling a service that has objects as its parameters, how do I use
it in the client? Do I enter each attribute as a string or do I create
an object of the required type?
(this is all in axis with a java client)

e.g.

if it was just wsdl with string parameters I do the following
.
call.addParameter("customerAccountName" , XMLType.XSD_STRING,
ParameterMode.IN);
           call.addParameter("customerAccountNumber" ,
XMLType.XSD_STRING, ParameterMode.IN);
           call.addParameter("customerEmailAddress" ,
XMLType.XSD_STRING, ParameterMode.IN);
           call.addParameter("customerFaxNumber" , XMLType.XSD_STRING,
ParameterMode.IN);
           call.addParameter("customerHomeTelephoneNumber" ,
XMLType.XSD_STRING, ParameterMode.IN);
           call.addParameter("customerMobileNumber" ,
XMLType.XSD_STRING, ParameterMode.IN);

   . Object[] params = new Object[] {"Joan
McDonald","00217096","[EMAIL PROTECTED]","","0744552224","074455613"}

.. String valid = (String) call.invoke(params);

now if the service requires a customer object, which has the above
parameters as attributes do I create a customer object and
call.invoke(.)

thanks

Reply via email to