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 Alex Chen <al...@sbcglobal.net> on 2004/06/06 03:16:55 UTC

Disable multiref on the server side

I am using AXIS (Java, as a server) and gSOAP (C, as a client) in RPC style
communication.

If the encoding style is set to
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" .../>

gSOAP client is able to send a SOAP object (C structure on the client side)
to the AXIS,
and the server is able to deserialize the message into the binding class
generated from the WSDL.
But when the server returns a SOAP object, the XML message contains
'multiref id=' tags in the
message body.  This causes the gSOAP client to choke because it cannot
decode it.

I also find that if the encoding style is set to
<soap:body use="literal" />

the XML message generated by the AXIS server will not have 'multiref' tag.
But if the client (gSOAP side) sends a
SOAP object, as in the above case, the AXIS server cannot decode the
message, because the gSOAP puts namespace tags
and other stuff in the message it generates.

In a nutshell, in 'encoded' case, AXIS can decode messages in encode style,
but generated messages with
'multiref' tags.  In 'literal' case, AXIS does not generate messages with
'multiref' tags but fails to decode
messages that are in 'encoded' form.

I have looked at the mailing archive and only find discussion in disabling
the PROP_DOMULTIREF property
on the client side.  How do I turn off this property on the AXIS server side
so that it does not generate
multiref tag in the reply message?

Any help is greatly appreciated.

Alex