Hi Henrik
I am having a little problem with proxying some webservices with
Synapse (see previous posts today for more history), where I'm finding
that the *response body is empty* when returned to the client. Using
soapUI [http://www.soapui.org/], I have been able to collect some more
information.
Please find attached:
synapsis.soapui.log.diff.report.htm/ / ==> An HTML diff report on
the two log entries / files below
soapui.synapsis.service.log ==> The request and
response soapUI log when calling the Synapse proxied 'validateCLI'
webservice
soapui.original.service.log ==> The request and
response soapUI log when calling the non-proxied, original,
'validateCLI' webservice
Here is my current synapse.xml:
<definitions xmlns="http://ws.apache.org/ns/synapse">
<localEntry key="validateCli.wsdl"
src="file:/c:/dev/synapse-1.2/harness/validateCli.wsdl"/>
<localEntry key="ValidateCLIRequest"
src="file:/c:/dev/synapse-1.2/harness/ValidateCLIRequest_V1.0.xsd"/>
<localEntry key="ValidateCLIResponse"
src="file:/c:/dev/synapse-1.2/harness/ValidateCLIResponse_V1.0.xsd"/>
<localEntry key="CommonTypes"
src="file:/c:/dev/synapse-1.2/harness/commontypes.xsd"/>
<proxy name="ValidateCLI" transports="http" trace="enable">
<parameter name="useOriginalwsdl">true</parameter>
<parameter name="modifyUserWSDLPortAddress">true</parameter>
<publishWSDL key="validateCli.wsdl" trace="enable">
<resource location="ValidateCLIRequest_V1.0.xsd"
key="ValidateCLIRequest"/>
<resource location="ValidateCLIResponse_V1.0.xsd"
key="ValidateCLIResponse"/>
<resource location="commontypes.xsd"
key="CommonTypes"/>
</publishWSDL>
<target>
<inSequence>
<send/>
</inSequence>
<outSequence>
</outSequence>
</target>
</proxy>
</definitions>
I also noted that the the HTTP return codes also differ:
Original WS call: HTTP/1.1 200 OK
Proxied WS call: HTTP/1.1 202 Accepted
I am not sure why this is happening (no response body + returning 202
instead of 200), if I am doing something incorrect here or if I simply
have an incorrect synapse configuration.
Has anyone seen this behaviour before? Any help would be greatly
appreciated.
Please follow the basic proxy services samples and basic docs [2]. Your
outsequence is empty, thus no response would be forwarded. Also, you
would need to define a target endpoint, or a <send> mediator which
specifies the address of the real service endpoint
[1] http://synapse.apache.org/Synapse_Samples.html#ProxyServices
[2] http://synapse.apache.org/Synapse_QuickStart.html (part 2 of this
called Proxy Services)
cheers
asankha
--
Asankha C. Perera
http://adroitlogic.org
http://esbmagic.blogspot.com