Hi,
I am using Synapse1.1. I want to expose a proxy service that can do a
database read.
I decided to use the DBLookup mediator. In the samples packaged (sample
360,361) , a webservice endpoint (StockQuoteProxy) is used , wherein the
record set returned by the dblookup mediator is sent to the StockQuoteProxy
and the response in handled by the "OutGoing Message Sequence" to forward to
the client. I do not wish to use the webservice endpoint , but rather return
the record set from the SQL select statement to the webservice client
directly.
So I wrote a synapse config having a Proxy Service resembling the below :
<proxy name="someName">
<target>
<inSequence>
<dblookup>
...
</dblookup>
<header name="To" expression="get-property('ReplyTo')"/>
<send/>
<drop/>
</inSequence>
<outSequence>
<drop/>
</outSequence>
</target>
<syn:publishWSDL
uri="file:repository/conf/sample/resources/proxy/sample_proxy_1.wsdl"/>
</proxy>
My client read the exposed Proxy WSDL and figured out what port to use and
dispatched the request.
>From the synapse server logs, I observed that the DBLookup happened , but
after that there was an exception :
2007-11-28 13:02:19,683 [xxxx] [HttpServerWorker-3] ERROR Axis2Sender
Unexpected error during send
ing message out
org.apache.axis2.AxisFault: The system cannot infer the transport
information from the URL.
at org.apache.axis2.description.ClientUtils.inferOutTransport(
ClientUtils.java:73)
at
org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl
(DynamicAxisOperation.ja
va:157)
at org.apache.axis2.client.OperationClient.execute(
OperationClient.java:163)
at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(
Axis2FlexibleMEPClient.java:294)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java
:55)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(
Axis2SynapseEnvironment.java:200)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(
SendMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(
AbstractListMediator.java:60)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(
SequenceMediator.java:122)
at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive
(ProxyServiceMessageReceiver.java:140)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(
HTTPTransportUtils.java:275)
at org.apache.synapse.transport.nhttp.ServerWorker.processPost(
ServerWorker.java:218)
at org.apache.synapse.transport.nhttp.ServerWorker.run(
ServerWorker.java:182)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
2007-11-28 13:02:19,694 [xxxxx] [HttpServerWorker-3] WARN
ProxyServiceMessageReceiver Executing fa
ult handler due to exception encountered
2007-11-28 13:02:19,699 [xxxx] [HttpServerWorker-3] WARN FaultHandler Fault
handler - setting ERR
OR_MESSAGE : Unexpected error during sending message out
2007-11-28 13:02:19,700 [xxxx] [HttpServerWorker-3] WARN FaultHandler Fault
handler - setting ERR
OR_DETAIL : org.apache.synapse.SynapseException: Unexpected error during
sending message out
at org.apache.synapse.core.axis2.Axis2Sender.handleException(
Axis2Sender.java:113)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java
:62)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(
Axis2SynapseEnvironment.java:200)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(
SendMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(
AbstractListMediator.java:60)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(
SequenceMediator.java:122)
at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive
(ProxyServiceMessageReceiver.java:140)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(
HTTPTransportUtils.java:275)
at org.apache.synapse.transport.nhttp.ServerWorker.processPost(
ServerWorker.java:218)
at org.apache.synapse.transport.nhttp.ServerWorker.run(
ServerWorker.java:182)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.axis2.AxisFault: The system cannot infer the transport
information from the URL.
at org.apache.axis2.description.ClientUtils.inferOutTransport(
ClientUtils.java:73)
at
org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl
(DynamicAxisOperation.ja
va:157)
at org.apache.axis2.client.OperationClient.execute(
OperationClient.java:163)
at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(
Axis2FlexibleMEPClient.java:294)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java
:55)
... 12 more
Was there something wrong in the proxy configuration that I wrote. Please
advise.
Thanks in advance.
Eric.