Hello!
I am now experimenting : "Sample 5: Creating SOAP fault messages and changing 
the direction of a message"
The fault handler works but I am quite surprised by the numerous exceptions 
generated after the java.net.UnknownHostException. Here are the synapse log 
lines:
<!----- BEGINNING
2007-11-27 09:34:11,975 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender]  
WARN FaultHandler Fault handler - setting ERROR_MESSAGE : 
java.net.UnknownHostException: bogus
2007-11-27 09:34:11,975 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender]  
WARN FaultHandler Fault handler - setting ERROR_DETAIL : java.lang.Exception: 
<soapenv:Fault 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><faultcode>soapenv:Server</faultcode><faultstring>java.net.UnknownHostException:
 bogus</faultstring><detail /></soapenv:Fault>
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:164)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:125)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender$3.handleError(HttpCoreNIOSender.java:465)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender$3.failed(HttpCoreNIOSender.java:435)
        at 
org.apache.http.impl.nio.reactor.SessionRequestImpl.failed(SessionRequestImpl.java:139)
        at 
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processSessionRequests(DefaultConnectingIOReactor.java:216)
        at 
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:75)
        at 
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:157)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.executeClientEngine(HttpCoreNIOSender.java:139)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.access$000(HttpCoreNIOSender.java:68)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender$1.run(HttpCoreNIOSender.java:101)
        at java.lang.Thread.run(Thread.java:619)

2007-11-27 09:34:11,976 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG AddressEndpoint Start : Address Endpoint
2007-11-27 09:34:11,976 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG AddressEndpoint Sending message to endpoint : AnonymousEndpoint resolves 
to address = http://localhost:8081/CalculatorWSApplication/CalculatorWS
2007-11-27 09:34:11,976 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG AddressEndpoint SOAPAction: 
http://calculator.me.org/CalculatorWS/multiplyRequest
2007-11-27 09:34:11,976 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG AddressEndpoint WSA-Action: 
http://calculator.me.org/CalculatorWS/multiplyRequest
2007-11-27 09:34:11,976 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG Axis2FlexibleMEPClient Sending [add = true] [sec = false] [rm = false] [ 
mtom = false] [ swa = false] [ format = null] [ force soap11=false] [ force 
soap12=false; pox=false] [ to Address: /soap/CalculatorProxy]
2007-11-27 09:34:12,058 [127.0.0.1-localhost.localdomain] [HttpServerWorker-2] 
DEBUG DropMediator End : Drop mediator
2007-11-27 09:34:12,059 [127.0.0.1-localhost.localdomain] [HttpServerWorker-2] 
DEBUG SequenceMediator End : Sequence <in>
2007-11-27 09:34:12,059 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG ConnectionPool No connections available for reuse
2007-11-27 09:34:12,073 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG HttpCoreNIOSender A new connection established
2007-11-27 09:34:12,073 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG Axis2HttpRequest start streaming outgoing http request
2007-11-27 09:34:12,088 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG SOAPMessageFormatter start writeTo()
2007-11-27 09:34:12,090 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG SOAPMessageFormatter   preserve=true
2007-11-27 09:34:12,090 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG SOAPMessageFormatter   isOptimized=false
2007-11-27 09:34:12,091 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG SOAPMessageFormatter   isDoingSWA=false
2007-11-27 09:34:12,091 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG SOAPMessageFormatter end writeTo()
2007-11-27 09:34:12,121 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender]  
WARN FaultHandler Fault handler - setting ERROR_MESSAGE : 
java.net.ConnectException: Connection refused
2007-11-27 09:34:12,122 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender]  
WARN FaultHandler Fault handler - setting ERROR_DETAIL : java.lang.Exception: 
<soapenv:Fault 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><faultcode>soapenv:Server</faultcode><faultstring>java.net.ConnectException:
 Connection refused</faultstring><detail /></soapenv:Fault>
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:164)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:125)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender$3.handleError(HttpCoreNIOSender.java:465)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender$3.failed(HttpCoreNIOSender.java:435)
        at 
org.apache.http.impl.nio.reactor.SessionRequestImpl.failed(SessionRequestImpl.java:139)
        at 
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:112)
        at 
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:82)
        at 
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:157)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.executeClientEngine(HttpCoreNIOSender.java:139)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.access$000(HttpCoreNIOSender.java:68)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender$1.run(HttpCoreNIOSender.java:101)
        at java.lang.Thread.run(Thread.java:619)

2007-11-27 09:34:12,122 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender]  
WARN FaultHandler FaultHandler executing impl: 
org.apache.synapse.mediators.MediatorFaultHandler
2007-11-27 09:34:12,122 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender]  
WARN MediatorFaultHandler Executing fault handler mediator : myFaultHandler
2007-11-27 09:34:12,128 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG SequenceMediator Start : Sequence <myFaultHandler>
2007-11-27 09:34:12,128 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG SequenceMediator Sequence <SequenceMediator> :: mediate()
2007-11-27 09:34:12,128 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG FaultMediator Start : Fault mediator
2007-11-27 09:34:12,128 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG FaultMediator Creating a SOAP 1.1 fault
2007-11-27 09:34:12,132 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG FaultMediator End : Fault mediator
2007-11-27 09:34:12,132 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG PropertyMediator Start : Property mediator
2007-11-27 09:34:12,132 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG PropertyMediator Setting property : RESPONSE at scope : default to : true 
(i.e. constant : true)
2007-11-27 09:34:12,132 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG PropertyMediator End : Property mediator
2007-11-27 09:34:12,133 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG HeaderMediator Start : Header mediator
2007-11-27 09:34:12,133 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG HeaderMediator Set SOAP header : To to :
2007-11-27 09:34:12,133 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG HeaderMediator End : Header mediator
2007-11-27 09:34:12,133 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG SendMediator Start : Send mediator
2007-11-27 09:34:12,133 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
DEBUG SendMediator Sending response message using implicit message properties..
Sending To:
SOAPAction: http://calculator.me.org/CalculatorWS/multiplyRequest
2007-11-27 09:34:12,153 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
ERROR HttpCoreNIOSender Malformed destination EPR :
java.net.MalformedURLException: no protocol:
        at java.net.URL.<init>(URL.java:567)
        at java.net.URL.<init>(URL.java:464)
        at java.net.URL.<init>(URL.java:413)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(HttpCoreNIOSender.java:278)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:218)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
        at 
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:104)
        at 
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:197)
        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.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:79)
        at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:53)
        at 
org.apache.synapse.endpoints.FailoverEndpoint.send(FailoverEndpoint.java:100)
        at 
org.apache.synapse.endpoints.FailoverEndpoint.onChildEndpointFail(FailoverEndpoint.java:159)
        at 
org.apache.synapse.endpoints.AddressEndpoint.onFault(AddressEndpoint.java:230)
        at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:94)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:175)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:125)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender$3.handleError(HttpCoreNIOSender.java:465)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender$3.failed(HttpCoreNIOSender.java:435)
        at 
org.apache.http.impl.nio.reactor.SessionRequestImpl.failed(SessionRequestImpl.java:139)
        at 
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:112)
        at 
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:82)
        at 
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:157)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.executeClientEngine(HttpCoreNIOSender.java:139)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender.access$000(HttpCoreNIOSender.java:68)
        at 
org.apache.synapse.transport.nhttp.HttpCoreNIOSender$1.run(HttpCoreNIOSender.java:101)
        at java.lang.Thread.run(Thread.java:619)
2007-11-27 09:34:12,156 [127.0.0.1-localhost.localdomain] [HttpCoreNIOSender] 
ERROR Axis2Sender Unexpected error sending message back
org.apache.axis2.AxisFault: Malformed destination EPR :
-------> END

Besides, perhaps due to these exceptions, no message is returned to the client 
as a SOAP fault. Moreover, I think that the "java.net.MalformedURLException: no 
protocol:" is due to the fact that the SOAP client does not use the WSA header 
named "Reply-To" which is empty.  I used JAX-WS 2.1 to write this client and I 
must admit that JAX is not yet ready to be interoperable with synapse. 
Thanks by advance.
Sihem

             
---------------------------------
 Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail 

Reply via email to