Hi
 
I'm being given an error from axis because the wsdl file of the webservices I'm trying to make calls to defines two different operations with the same name.  I've contacted the owners of the webservice and they assure me that it isn't a mistake in their wsdl, the service is designed that way as each of the two operations take different parameters and which is being called is dynamically determined by the server based on the parameters passed.
Sadly my code doesn't get as far as making the call as axis seems unhappy with there being two operations with the same name.  Does anyone know if the wsdl specification explicitly prohibits operation-name overloading like this or is the object specific to axis?
 
The exception I get is below, as the wsdl contains two operations name CardPaymentRequest (I've masked the portType, it is correct in the original output)
 
javax.xml.rpc.ServiceException: Error processing WSDL document: 
java.lang.IllegalArgumentException: Duplicate operation with name=CardPaymentRequest, found in portType '{http://xxx.xxx.xxx.uk/}CardPaymentsSoap'.
 at org.apache.axis.client.Service.initService(Service.java:249)
 at org.apache.axis.client.Service.<init>(Service.java:164)
 at org.apache.axis.client.ServiceFactory.createService(ServiceFactory.java:198)
 at govConnect.WebServiceTools.<init>(WebServiceTools.java:79)
 at ep.callWS.service(callWS.java:58)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)
 at org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:169)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
 at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
 at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
 at java.lang.Thread.run(Thread.java:536)

Chris Mannion
IT Junction
020 8452 4274

Reply via email to