Saliya, I guess what Paul suggested is the correct way of doing this, because even though you set the transport header it will be overridden by the message context action value. So there is a special header called Action in the header mediator which will call the messageContext.setAction() with the given value which is the correct approach.
Further there are some more special headers that the header mediator takes care of and you could have a look at the header mediator source to find them. (For example: To, ReplyTo, From) Thanks, Ruwan On Thu, Oct 16, 2008 at 9:09 AM, Saliya Ekanayake <[EMAIL PROTECTED]> wrote: > Hi Joaquin, > > Use the Property mediator to set the SOAP Action header. See the example > below. > > <syn:property name="SOAPAction" value="echo" scope="transport"/> > > Note: you have to set the scope to transport. > > Regards, > Saliya > > > Paul Fremantle wrote: > >> Joaquin >> >> I think what is happening is that Axis2 is expecting a SOAP Action for >> the operation, and that isn't set, because that doesn't exist in JMS. >> >> Please add a mediator: >> <header name="Action" value="urn:echo"/> >> >> (Assuming that is the right action for your service). >> >> Paul >> >> >> On Wed, Oct 15, 2008 at 4:24 PM, Joaquin Caraballo >> <[EMAIL PROTECTED]> wrote: >> >> >>> Hi everybody, >>> >>> I'm trying to forward a message received from a jms queue to a SOAP >>> service, but the message doesn't arrive to the SOAP service. Instead, >>> I get a "HTTP/1.1 500 The endpoint reference (EPR) for the Operation >>> not found" error. >>> >>> My synapse.xml looks like this: >>> >>> <definitions xmlns="http://ws.apache.org/ns/synapse"> >>> <proxy name="queueName" transports="jms"> >>> <target> >>> <inSequence> >>> <class name="path.to.DummyMediator" /> >>> </inSequence> >>> <endpoint> >>> <wsdl >>> uri="http://localhost:8081/axis2/services/EchoService?wsdl" >>> service="EchoService" port="EchoServiceHttpSoap11Endpoint"/> >>> </endpoint> >>> </target> >>> </proxy> >>> </definitions> >>> >>> Do you see any problems in my configuration? Please could you help me? >>> >>> Thanks a lot! >>> >>> Best regards, >>> >>> --Joaquin >>> >>> >>> >>> >>> I also include the logging lines around the EPR error: >>> >>> 2008-10-15 15:37:28,393 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> ProxyServiceMessageReceiver Forwarding the message to the anonymous >>> endpoint of the proxy service >>> 2008-10-15 15:37:28,393 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> WSDLEndpoint Start : WSDL Endpoint >>> 2008-10-15 15:37:28,393 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> WSDLEndpoint Sending message to WSDL endpoint : AnonymousEndpoint >>> resolves to address = >>> >>> http://192.168.1.100:8081/axis2/services/EchoService.EchoServiceHttpSoap11Endpoint/ >>> 2008-10-15 15:37:28,393 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> WSDLEndpoint SOAPAction: null >>> 2008-10-15 15:37:28,393 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> WSDLEndpoint WSA-Action: null >>> 2008-10-15 15:37:28,396 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> Axis2FlexibleMEPClient Sending [add = false] [sec = false] [rm = >>> false] [mtom = false] [swa = false] [format = soap11] [force >>> soap11=true] [force soap12=false] [pox=false] [get=false] >>> [encoding=null] [to null] >>> 2008-10-15 15:37:28,410 [192.168.1.100-bob] [JMSWorker-1] INFO >>> TimeoutHandler This engine will expire all callbacks after : 86400 >>> seconds, irrespective of the timeout action, after the specified or >>> optional timeout >>> 2008-10-15 15:37:28,412 [192.168.1.100-bob] [JMSWorker-1] WARN >>> JMSConnectionFactory Error looking up destination with JNDI name : >>> __NONE__ to map its corresponding provider specific Destination name >>> 2008-10-15 15:37:28,412 [192.168.1.100-bob] [JMSWorker-1] WARN >>> JMSConnectionFactory JMS Destination with JNDI name : __NONE__ does >>> not exist >>> 2008-10-15 15:37:28,418 [192.168.1.100-bob] [JMSWorker-1] WARN >>> JMSConnectionFactory JMS Destination with JNDI name : __NONE__ created >>> 2008-10-15 15:37:28,419 [192.168.1.100-bob] [JMSWorker-1] INFO >>> JMSConnectionFactory Mapping JNDI name : __NONE__ and JMS Destination >>> name : __NONE__ against service : __NONE__ >>> 2008-10-15 15:37:28,419 [192.168.1.100-bob] [JMSWorker-1] WARN >>> JMSConnectionFactory Cannot find destination : __NONE__ Creating a >>> Queue with this name >>> 2008-10-15 15:37:28,421 [192.168.1.100-bob] [JMSWorker-1] INFO >>> JMSListener Started listening on destination : __NONE__ for service >>> __NONE__ >>> 2008-10-15 15:37:28,423 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> SynapseCallbackReceiver Callback added. Total callbacks waiting for : >>> 1 >>> 2008-10-15 15:37:28,433 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> ConnectionPool No connections available for reuse >>> 2008-10-15 15:37:28,435 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> HttpCoreNIOSender A new connection established to : 192.168.1.100:8081 >>> 2008-10-15 15:37:28,435 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> Axis2HttpRequest start streaming outgoing http request >>> 2008-10-15 15:37:28,462 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler HTTP connection [/192.168.1.100:8081]: Connected >>> ([EMAIL PROTECTED]) >>> 2008-10-15 15:37:28,462 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler ClientHandler connected : [/192.168.1.100:8081] >>> 2008-10-15 15:37:28,465 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> SOAPMessageFormatter contentType from the OMOutputFormat =text/xml >>> 2008-10-15 15:37:28,465 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> SOAPMessageFormatter contentType returned =text/xml; charset=UTF-8 >>> 2008-10-15 15:37:28,469 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers >> POST >>> >>> http://192.168.1.100:8081/axis2/services/EchoService.EchoServiceHttpSoap11Endpoint/ >>> HTTP/1.1 >>> 2008-10-15 15:37:28,469 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers >> Content-Type: text/xml; charset=UTF-8 >>> 2008-10-15 15:37:28,469 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers >> Transfer-Encoding: chunked >>> 2008-10-15 15:37:28,469 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers >> Host: 192.168.1.100:8081 >>> 2008-10-15 15:37:28,469 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers >> Connection: Keep-Alive >>> 2008-10-15 15:37:28,469 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers >> User-Agent: Synapse-HttpComponents-NIO >>> 2008-10-15 15:37:28,470 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> SOAPMessageFormatter start writeTo() >>> 2008-10-15 15:37:28,470 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> SOAPMessageFormatter preserve=false >>> 2008-10-15 15:37:28,470 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> SOAPMessageFormatter isOptimized=false >>> 2008-10-15 15:37:28,470 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> SOAPMessageFormatter isDoingSWA=false >>> 2008-10-15 15:37:28,471 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler HTTP connection [/192.168.1.100:8081]: Output ready >>> 2008-10-15 15:37:28,471 [192.168.1.100-bob] [JMSWorker-1] DEBUG >>> SOAPMessageFormatter end writeTo() >>> 2008-10-15 15:37:28,471 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler HTTP connection [/192.168.1.100:8081]: Content encoder >>> [chunk-coded; completed: false] >>> 2008-10-15 15:37:28,472 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler HTTP connection [/192.168.1.100:8081]: Output ready >>> 2008-10-15 15:37:28,472 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler HTTP connection [/192.168.1.100:8081]: Content encoder >>> [chunk-coded; completed: true] >>> 2008-10-15 15:37:28,472 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler HTTP connection [/192.168.1.100:8081]: Request ready >>> 2008-10-15 15:37:28,486 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler HTTP connection [/192.168.1.100:8081]: HTTP/1.1 500 The >>> endpoint reference (EPR) for the Operation not found is >>> 192.168.1.100 >>> http://192.168.1.100:8081/axis2/services/EchoService.EchoServiceHttpSoap11Endpoint/ >>> and the WSA Action = null >>> 2008-10-15 15:37:28,486 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler Received an internal server error with a SOAP payload >>> 2008-10-15 15:37:28,488 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers << HTTP/1.1 500 The endpoint reference (EPR) for the Operation >>> not found is 192.168.1.100 >>> http://192.168.1.100:8081/axis2/services/EchoService.EchoServiceHttpSoap11Endpoint/ >>> and the WSA Action = null >>> 2008-10-15 15:37:28,488 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers << Date: Wed, 15 Oct 2008 14:37:28 GMT >>> 2008-10-15 15:37:28,488 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers << Server: Simple-Server/1.1 >>> 2008-10-15 15:37:28,488 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers << Transfer-Encoding: chunked >>> 2008-10-15 15:37:28,488 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers << Content-Type: text/xml; charset=UTF-8 >>> 2008-10-15 15:37:28,488 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> headers << Connection: Keep-Alive >>> 2008-10-15 15:37:28,488 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler HTTP connection [/192.168.1.100:8081]: Input ready >>> 2008-10-15 15:37:28,492 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ConnectionPool Released a connection to host: 192.168.1.100 on port : >>> 8081 to the connection pool of current size : 1 >>> 2008-10-15 15:37:28,492 [192.168.1.100-bob] [I/O dispatcher 1] DEBUG >>> ClientHandler HTTP connection [/192.168.1.100:8081]: Content decoder >>> [chunk-coded; completed: true] >>> 2008-10-15 15:37:28,494 [192.168.1.100-bob] [HttpClientWorker-1] DEBUG >>> TransportUtils createSOAPEnvelope using Builder (class >>> org.apache.axis2.builder.SOAPBuilder) selected from type (text/xml) >>> 2008-10-15 15:37:28,498 [192.168.1.100-bob] [HttpClientWorker-1] DEBUG >>> SynapseCallbackReceiver Callback removed. Pending callbacks count : 0 >>> 2008-10-15 15:37:28,498 [192.168.1.100-bob] [HttpClientWorker-1] DEBUG >>> SynapseCallbackReceiver Synapse received an asynchronous response >>> message >>> 2008-10-15 15:37:28,498 [192.168.1.100-bob] [HttpClientWorker-1] DEBUG >>> SynapseCallbackReceiver Received To: null >>> 2008-10-15 15:37:28,498 [192.168.1.100-bob] [HttpClientWorker-1] DEBUG >>> SynapseCallbackReceiver SOAPAction: >>> 2008-10-15 15:37:28,498 [192.168.1.100-bob] [HttpClientWorker-1] DEBUG >>> SynapseCallbackReceiver WSA-Action: >>> 2008-10-15 15:37:28,505 [192.168.1.100-bob] [HttpClientWorker-1] DEBUG >>> SynapseCallbackReceiver Body : >>> <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope >>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ >>> "><soapenv:Body><soapenv:Fault >>> xmlns:axis2ns4="http://schemas.xmlsoap.org/soap/envelope/ >>> "><faultcode>axis2ns4:Client</faultcode><faultstring>The >>> endpoint reference (EPR) for the Operation not found is >>> 192.168.1.100 >>> http://192.168.1.100:8081/axis2/services/EchoService.EchoServiceHttpSoap11Endpoint/ >>> and the WSA Action = >>> null</faultstring><detail><Exception>org.apache.axis2.AxisFault: The >>> endpoint reference (EPR) for the Operation not found is >>> 192.168.1.100 >>> http://192.168.1.100:8081/axis2/services/EchoService.EchoServiceHttpSoap11Endpoint/ >>> and the WSA Action = null >>> at >>> org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:89) >>> at org.apache.axis2.engine.Phase.invoke(Phase.java:333) >>> at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264) >>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163) >>> at >>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) >>> at >>> org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:278) >>> at >>> org.apache.axis2.transport.http.server.AxisHttpService.doService(AxisHttpService.java:281) >>> at >>> org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(AxisHttpService.java:187) >>> at >>> org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpServiceProcessor.java:82) >>> at >>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) >>> at >>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) >>> at java.lang.Thread.run(Thread.java:613) >>> </Exception></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope> >>> 2008-10-15 15:37:28,507 [192.168.1.100-bob] [HttpClientWorker-1] DEBUG >>> Axis2SynapseEnvironment Injecting MessageContext >>> 2008-10-15 15:37:28,507 [192.168.1.100-bob] [HttpClientWorker-1] DEBUG >>> Axis2SynapseEnvironment Proxy service queueName does not specifies an >>> out-sequence - sending the response back >>> >>> >>> >> >> >> >> >> > > -- Ruwan Linton http://wso2.org - "Oxygenating the Web Services Platform" http://ruwansblog.blogspot.com/
