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 Suresh Avadhanula <av...@gmail.com> on 2005/02/01 22:17:59 UTC

How to serialize elements of Vector independently in Axis

Hi,

I am integrating axis to existing product where we can expose some
webservices and send/recieve SOAP messages. We have our own
configuration files instead of WSDL that would expose the services as
Webservices. Hence I cannot use WSDL2Java to generate stubs for axis.

We have generic methods

public Vector callOperation ( Vector params).

Any services that needs to be exposed as webservice implements this
method. The vector of params that is passed as argument can contain
regular java type params and/or attachments.

I am expecting the wire format of the SOAPBody would be

<calloperation>
   <Params>
       <vector param 1 ../>
       <vector attachment param2 .. />
       ...
   </Params>
</calloperation>

My question is , if I call

Call.invoke ( params ) // where params => vector of params

after setting all the necessary properties in Call object like
operationName etc, will Axis go through each object, find out if its a
regurlar java object or attachement and call serialization
accordingly?
Should the vector contain objects of any specific type ( ala RPCParam
) for it  serialize each objects properly? In all the examples, I see
that each argument to the webservice method is set separately and
passed as Object[] to Call.invoke(), which goes through each objects,
converts it to RPCParam and serialize it finally. In my case, the only
object that would be passed to Call.invoke() would be a vector.

Any information ( or pointers to it ) as to how to
serialize/deserialize each object of the Vector will be very helpful.

Thanks