We have problems sending a Vector to an "old" apache/soap based service
with a client using Axis 1.2 (Axis 1.1 works fine).
Is this a bug or just lost backwards compatibility due to WS-I BasicProfile
compliance?
And is there any work around?
See call and return below.
Thanks
Mikael Karlsson
---
public Vector getInteractionsByDrugRegNosWithinList( Vector regNoVector )
throws DrugDBException {
try
{
Call call = prepareCall();
// Set service name
call.setOperationName( new QName (uri ,
"getInteractionsByDrugRegNosWithinList"));
// Set parameter to send to service
call.addParameter("drugRegNos",
org.apache.axis.Constants.XSD_ANY,
javax.xml.rpc.ParameterMode.IN);
call.setReturnType( org.apache.axis.encoding.XMLType.XSD_ANY );
Object result = call.invoke( new Object[] { regNoVector } );
// More code ....
----- this returns
RemoteExceptionNo mapping found for 'http://www.w3.org/2001/XMLSchema:any' using
encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: No mapping found for 'http://www.w3.org/2001/XMLSchema:any' using
encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
faultActor: /soap/servlet/rpcrouter
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultSubcode:
faultString: No mapping found for 'http://www.w3.org/2001/XMLSchema:any' using
encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
faultActor: /soap/servlet/rpcrouter
faultNode:
faultDetail:
No mapping found for 'http://www.w3.org/2001/XMLSchema:any' using encoding style
'http://schemas.xmlsoap.org/soap/encoding/'.
at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:223)
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:130)
at
org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:1053)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1675)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1926)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1654)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1926)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1654)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:634)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:333)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:218)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:568)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:427)
at org.apache.axis.client.Call.invokeEngine(Call.java:2708)
at org.apache.axis.client.Call.invoke(Call.java:2671)
at org.apache.axis.client.Call.invoke(Call.java:2357)
at org.apache.axis.client.Call.invoke(Call.java:2280)
at org.apache.axis.client.Call.invoke(Call.java:1741)
at DrugDB.getInteractionsByDrugRegNosWithinList(DrugDB.java:281)
at AxisExample.main(AxisExample.java:77)