Hello,
I have problem with sending back empty message for some condition:
        <sequence name="hotels-sequence">
                <filter source="//book:getPackage/hotels" regex="true">
                        <then>
                                <send>
                                        <endpoint>
                                                <address 
uri="http://remote.webservice.test.com:8177/"; />
                                        </endpoint>
                                </send>
                        </then>
                        <else>
                                <xslt key="transform/empty_message.xslt">
                                        <feature 
name="http://ws.apache.org/ns/synapse/transform/feature/dom";
value="true"/>
                                </xslt>
                                <property name="RESPONSE" value="true"/>
                                <send />
                        </else>
                </filter>
        </sequence>

Transformation is done to have simpel XML output:
<response></response> - maybe there is better way?

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:fn="http://www.w3.org/2005/xpath-functions";
exclude-result-prefixes="fn xs xsi xsl">
        <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
        <xsl:template match="/*">
                <response></response>
        </xsl:template>
</xsl:stylesheet>

I thought that switching property to RESPONSE, and send without
address parameters will send the message back to the aggreagator which
is next step of processing messages, but I have got this instead:

2008-12-09 09:59:29,343 [192.168.3.17-adr-37ac1b] [SynapseWorker-2]
ERROR HttpCoreNIOSender Malformed destination EPR :
/soap/BookingSystemProxy.BookingSystemProxyHttpsSoap12Endpoint
java.net.MalformedURLException: no protocol:
/soap/BookingSystemProxy.BookingSystemProxyHttpsSoap12Endpoint
        at java.net.URL.<init>(Unknown Source)
        at java.net.URL.<init>(Unknown Source)
        at java.net.URL.<init>(Unknown Source)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(HttpCoreNIOSender.java:317)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:256)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
        at 
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:132)
        at 
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:202)
        at 
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:77)
        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:61)
        at 
org.apache.synapse.config.xml.AnonymousListMediator.mediate(AnonymousListMediator.java:30)
        at 
org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:143)
        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:61)
        at 
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:111)
        at 
org.apache.synapse.mediators.MediatorWorker.run(MediatorWorker.java:70)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
2008-12-09 09:59:29,406 [192.168.3.17-adr-37ac1b] [SynapseWorker-2]
ERROR Axis2Sender Unexpected error sending message back
org.apache.axis2.AxisFault: Malformed destination EPR :
/soap/BookingSystemProxy.BookingSystemProxyHttpsSoap12Endpoint
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.handleException(HttpCoreNIOSender.java:550)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(HttpCoreNIOSender.java:349)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:256)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
        at 
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:132)
        at 
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:202)
        at 
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:77)
        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:61)
        at 
org.apache.synapse.config.xml.AnonymousListMediator.mediate(AnonymousListMediator.java:30)
        at 
org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:143)
        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:61)
        at 
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:111)
        at 
org.apache.synapse.mediators.MediatorWorker.run(MediatorWorker.java:70)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.net.MalformedURLException: no protocol:
/soap/BookingSystemProxy.BookingSystemProxyHttpsSoap12Endpoint
        at java.net.URL.<init>(Unknown Source)
        at java.net.URL.<init>(Unknown Source)
        at java.net.URL.<init>(Unknown Source)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(HttpCoreNIOSender.java:317)
        ... 14 more

What is the solution of my problem - maybe there are some
architectural misunderstandings? I can't drop or makeFault message
because further aggregation don't work - so I think I need to send
empty message back.

Please help if you can, I'm really stuck with that :(
Best regards,
Adr

Reply via email to