I’m calling a WebSphere web service written by a vendor using soapRPC. The method requires 2 HashMap fields as input parameters. I created the HashMap fields in Java and passed back to webMethods as Objects, but when I pass them into the soapRPC call, I get the following error. Does soapRPC not handle parameters that are objects?
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:n1="http://www.webmethods.com/package/java.lang/" xmlns:h="http://www.bricsnet.com/connector-1.4/headers_ns.xsd"><soap:Header><h:overflow soap:mustUnderstand="false">false</h:overflow></soap:Header><soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><soap:Fault><faultcode>soap:Server</faultcode><faultstring>could not find operation corresponding to getObjectList(java.lang.String,java.lang.String). log MAPPING events to check that client-side map files are being read.</faultstring><detail><stacktrace>java.lang.NoSuchMethodException: could not find operation corresponding to getObjectList(java.lang.String,java.lang.String). log MAPPING events to check that client-side map files are being read.
at electric.util.reflect.OperationLookup.newNoSuchMethodException(Unknown Source)
at electric.util.reflect.OperationLookup.getOperations(Unknown Source)
at electric.util.reflect.OperationLookup.getOperation(Unknown Source)
at electric.util.reflect.OperationLookup.getOperation(Unknown Source)
at electric.soap.local.handlers.service.rpc.RPCOperationLookup.getOperation(Unknown Source)
at electric.soap.local.handlers.service.SOAPToServiceHandler.invoke(Unknown Source)
at electric.soap.local.handlers.service.SOAPToServiceHandler.handle(Unknown Source)
at electric.soap.security.handlers.SecurityHandler.handle(Unknown Source)
at electric.soap.handlers.interceptor.SOAPInterceptorHandler.handle(Unknown Source)
at electric.soap.routing.RoutingHandler.handle(Unknown Source)
at electric.soap.handlers.logging.SOAPLoggingHandler.handle(Unknown Source)
at electric.soap.handlers.setup.SetupHandler.handle(Unknown Source)
at electric.soap.http.handler.HTTPToSOAP.service(Unknown Source)
at electric.server.http.ServletServer.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1284)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:674)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:89)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1924)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:89)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:950)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:582)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1701)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
</stacktrace></detail><tme:exception xmlns:tme="http://www.webmethods.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><name>java.lang.NoSuchMethodException</name><object xsi:type="n1:NoSuchMethodException"><detailMessage>could not find operation corresponding to getObjectList(java.lang.String,java.lang.String). log MAPPING events to check that client-side map files are being read.</detailMessage></object></tme:exception></soap:Fault></soap:Body></soap:Envelope>