I reported the bug so I'm following the discussion but I thought this was not related to this issue since the operation name (completed) is correct, it was not the case of cannot-compensate-fault element that generated an invalid operation name. As the method is duplicated, I would have expected an error saying that http://www.webservicestransactions.org/schemas/wstxm/tx-lra/2003/03/completed maps to multiple operations but instead I get an error saying that it cannot find an implementation for that method although it has two of them to choose from. Also, in case of doubt I've implemented a CompensatorCompleted method and it cannot find it too so I don't know if there's a problem with me not following some convention or if this is a limitation of Muse working model.
On 3/22/07, Andrew Eberbach <[EMAIL PROTECTED]> wrote:
Hi, You are the second person to bring this up this week :) This will be one of the first fixes in 2.3. See: https://issues.apache.org/jira/browse/MUSE-214 Thanks, Andrew Andrew Eberbach Autonomic Computing (919) 254-2645 T/L: 444-2645 [EMAIL PROTECTED] "José Antonio Sánchez" <[EMAIL PROTECTED]> 03/22/2007 02:06 PM Please respond to [email protected] To [email protected] cc Subject Operation name collision Hello, I'm having the following problem. In my service I have to implement two interfaces and they have an operation named the same but messages from every operation are in different namespaces. I've solved it in the wsdl with the following: <wsdl:message name="CompletedMessage"> <wsdl:part element="wsctx:completed" name="content"/> </wsdl:message> ............................. <wsdl:operation name="completed"> <wsdl:input wsa:Action=" http://docs.oasis-open.org/schemas/2005/10/wsctx/completed" message="tns:CompletedMessage"/> </wsdl:operation> and <wsdl:message name="CompensatorCompletedMessage"> <wsdl:part name="content" element="lra:completed"/> </wsdl:message> ........................... <wsdl:operation name="CompensatorCompleted"> <wsdl:input wsa:Action=" http://www.webservicestransactions.org/schemas/wstxm/tx-lra/2003/03/completed " message="tns:CompensatorCompletedMessage"/> </wsdl:operation> WSDL2Java has generated two capabilities and every one of them has a complete() method. Now when I try to invoke my resouce I get: java.lang.RuntimeException: [ID = 'MissingOperationImplementations'] The WSDL file '/wsdl//Installation.wsdl' has the following operations which have no match in any of the resource's capabilities: [http://www.webservicestransactions.org/schemas/wstxm/tx-lra/2003/03/completed] at org.apache.muse.core.descriptor.SimpleResourceDescriptor.createCapabilityDefinitions(SimpleResourceDescriptor.java:138) at org.apache.muse.core.descriptor.SimpleResourceDescriptor.load(SimpleResourceDescriptor.java:397) at org.apache.muse.core.descriptor.SimpleDeploymentDescriptor.createResourceDefinitions(SimpleDeploymentDescriptor.java:74) at org.apache.muse.core.descriptor.SimpleDeploymentDescriptor.load(SimpleDeploymentDescriptor.java:173) at org.apache.muse.core.platform.AbstractIsolationLayer.initialize(AbstractIsolationLayer.java:144) at org.apache.muse.core.platform.axis2.AxisIsolationLayer.handleRequest(AxisIsolationLayer.java:72) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis2.receivers.RawXMLINOutMessageReceiver.invokeBusinessLogic(RawXMLINOutMessageReceiver.java:88) at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:493) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:319) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:247) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Thread.java:595) Also I had problem with some operations that did not have the same name as its messages but they seem to be passing once I created methods for them in my capability with the operation name instead of the message element name but this doesn't work for complete. Although I've created a CompensatorCompleted() method in my capability it keeps complaining. What's the convention Muse uses to route a message to a capability and a particular method? How can I change my wsdl/capability to get it working? I can modify the wsdl but not the xsd files that defines lra:completed and wsctx:completed elements. -- Saludos. José Antonio Sánchez --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Saludos. José Antonio Sánchez --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
