axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Dillon (ext. 944)" <Brian.Dil...@FINEOS.com>
Subject Wrapped INOUT Parameters
Date Tue, 29 Nov 2005 08:49:30 GMT
Hi,

I am using Axis 1.2 and am looking into coverting from using SOAP
rpc/encoded to using wrapped/literal. For basic operations this seems to
work fine. However If I have INOUT parameters I get exceptions similar to;

The exception [org.xml.sax.SAXException: Deserializing parameter
'provider_outParam':  could not find deserializer for type xsd:string] was
caused by the exception [Deserializing parameter 'provider_outParam':  could
not find deserializer for type xsd:string]., Ta Exception info,Exception
Class=class com.fineos.ta.services.ServiceException,Root cause ID=2,Root
cause host=opc122,Localized message=SAXException: Deserializing parameter
'provider_outParam':  could not find deserializer for type xsd:string
	
The Response XML Message looks like;

<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:Body>
		<testStringResponse xmlns="Garage/TestService1">
			<testStringReturn xsi:nil="true"/>
			<provider_outParam
xmlns="">inoutString</provider_outParam>
			<provider_inoutParam
xmlns="">InString</provider_inoutParam>
		</testStringResponse>
	</soapenv:Body>
</soapenv:Envelope>

The way the axis Client Call abject is set is is;

        org.apache.axis.client.Call soapSrv=
getSOAPService(getServiceProperties().getServiceName());
        String soapSrvName =
"Garage/"+getServiceProperties().getServiceName();
        soapSrv.setOperationName(new QName(soapSrvName,"testString") );
        soapSrv.setOperationStyle("wrapped");
        soapSrv.setOperationUse("literal");

        soapSrv.addParameter("inParam",new QName("xsd:string"),
            javax.xml.rpc.ParameterMode.IN);
        soapSrv.addParameter("provider_outParam",new QName("xsd:string"),
            javax.xml.rpc.ParameterMode.INOUT);
        soapSrv.addParameter("provider_inoutParam",new QName("xsd:string"),
            javax.xml.rpc.ParameterMode.INOUT);
        soapSrv.addParameter("requestContext",
            new QName("ta:RequestContext"),javax.xml.rpc.ParameterMode.IN);
        soapSrv.setReturnType(new QName("xsd:string"));

Is there something else I should be setting up, or do INOUT parameters not
work with Wrapped/literal ?

Thanks,

Brian

**********************************************************************
The information contained in this e-mail is confidential, may be 
privileged and is intended only for the user of the recipient named above.  
If you are not the intended recipient or a representative of the intended 
recipient, you have received this e-mail in error and must not copy, use 
or disclose the contents of this e-mail to anybody else.  If you have 
received this e-mail in error, please notify the sender immediately 
by return e-mail and permanently delete the copy you received.  
This e-mail has been swept for computer viruses.  However, you should 
carry out your own virus checks. 
Registered in Ireland, No. 205721.  http://www.FINEOS.com
**********************************************************************


Mime
View raw message