The problem comes with a server running wso2esb v.5 for a very simple API.
<api context="/epc/v2" name="oldPgmType-API" statistics="enable" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="HEAD GET" uri-template="/OldPgmType/*">
<inSequence>
<property name="Authorization" scope="transport" type="STRING" value="Basic cdsdsdsdsdsdsdsds=="/>
<header name="Accept" scope="transport" value="application/xml"/>
<send>
<endpoint key="gov:endpoints/epc/epc_api_endpoint.xml"/>
</send>
</inSequence>
<outSequence>
<log description="After response" level="full">
<property name="message" value="After response LOG"/>
</log>
<header name="Accept" scope="transport" value="application/xml"/>
<sequence key="gov:sequences/common/outAcceptSequence.xml"/>
<send/>
</outSequence>
<faultSequence/>
</resource>
</api>
I'm new esb manager, someones tell me the problem was not there some weeks ago and I don't see any changes in the config files. By the way the same mediator works fine on my dev machine (running wso2ei61).
Of course I checked the endpoint is curl reachable from the server.
Errors in the logs come with no delay so this is not a timeout problem.
Here are the logs:
DEBUG {org.apache.synapse.transport.http.wire} - HTTPS-Listener I/O dispatcher-3 >> "GET /epc/v2/OldPgmType/intitComplet/L/2017/francais/psp1ba HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire} DEBUG {org.apache.synapse.transport.http.wire} - HTTPS-Listener I/O dispatcher-3 >> "Host: esb-test.sipr.ucl.ac.be:8243[\r][\n]" {org.apache.synapse.transport.http.wire} DEBUG {org.apache.synapse.transport.http.wire} - HTTPS-Listener I/O dispatcher-3 >> "User-Agent: curl/7.54.0[\r][\n]" {org.apache.synapse.transport.http.wire} DEBUG {org.apache.synapse.transport.http.wire} - HTTPS-Listener I/O dispatcher-3 >> "Accept: /[\r][\n]" {org.apache.synapse.transport.http.wire} DEBUG {org.apache.synapse.transport.http.wire} - HTTPS-Listener I/O dispatcher-3 >> "[\r][\n]" {org.apache.synapse.transport.http.wire} DEBUG {org.apache.synapse.core.axis2.SynapseMessageReceiver} - Synapse received a new message for message mediation... {org.apache.synapse.core.axis2.SynapseMessageReceiver} DEBUG {org.apache.synapse.core.axis2.SynapseMessageReceiver} - Received To: /epc/v2/OldPgmType/intitComplet/L/2017/francais/psp1ba {org.apache.synapse.core.axis2.SynapseMessageReceiver} DEBUG {org.apache.synapse.core.axis2.SynapseMessageReceiver} - SOAPAction: null {org.apache.synapse.core.axis2.SynapseMessageReceiver} DEBUG {org.apache.synapse.core.axis2.SynapseMessageReceiver} - WSA-Action: null {org.apache.synapse.core.axis2.SynapseMessageReceiver} DEBUG {org.apache.synapse.core.axis2.Axis2SynapseEnvironment} - Injecting MessageContext {org.apache.synapse.core.axis2.Axis2SynapseEnvironment} DEBUG {org.apache.synapse.rest.API} - API context: /learning/v1 does not match request URI: /epc/v2/OldPgmType/intitComplet/L/2017/francais/psp1ba {org.apache.synapse.rest.API} DEBUG {org.apache.synapse.rest.API} - API context: /students/v0 does not match request URI: /epc/v2/OldPgmType/intitComplet/L/2017/francais/psp1ba {org.apache.synapse.rest.API} DEBUG {org.apache.synapse.rest.RESTRequestHandler} - Located specific API: oldPgmType-API for processing message {org.apache.synapse.rest.RESTRequestHandler} DEBUG {org.apache.synapse.rest.API} - Processing message with ID: urn:uuid:f525b130-d4ec-412b-9d1d-3b46edd34364 through the API: oldPgmType-API {org.apache.synapse.rest.API} DEBUG {org.apache.synapse.rest.Resource} - Processing message with ID: urn:uuid:f525b130-d4ec-412b-9d1d-3b46edd34364 through the resource: 51f40a319374b54aab115c882a9738df58dd6604358b59fb {org.apache.synapse.rest.Resource} DEBUG {org.apache.synapse.mediators.base.SequenceMediator} - Start : Sequence {org.apache.synapse.mediators.base.SequenceMediator} DEBUG {org.apache.synapse.mediators.base.SequenceMediator} - Sequence :: mediate() {org.apache.synapse.mediators.base.SequenceMediator} DEBUG {org.apache.synapse.mediators.base.SequenceMediator} - Mediation started from mediator position : 0 {org.apache.synapse.mediators.base.SequenceMediator} DEBUG {org.apache.synapse.mediators.builtin.PropertyMediator} - Start : Property mediator {org.apache.synapse.mediators.builtin.PropertyMediator} DEBUG {org.apache.synapse.mediators.builtin.PropertyMediator} - Setting property : Authorization at scope : transport to : Basic cxxxxx== (i.e. constant : Basic cxxxx==) {org.apache.synapse.mediators.builtin.PropertyMediator} DEBUG {org.apache.synapse.mediators.builtin.PropertyMediator} - End : Property mediator {org.apache.synapse.mediators.builtin.PropertyMediator} DEBUG {org.apache.synapse.mediators.transform.HeaderMediator} - Start : Header mediator {org.apache.synapse.mediators.transform.HeaderMediator} DEBUG {org.apache.synapse.mediators.transform.HeaderMediator} - Set HTTP header : Accept to : application/xml {org.apache.synapse.mediators.transform.HeaderMediator} DEBUG {org.apache.synapse.mediators.transform.HeaderMediator} - End : Header mediator {org.apache.synapse.mediators.transform.HeaderMediator} DEBUG {org.apache.synapse.mediators.builtin.SendMediator} - Start : Send mediator {org.apache.synapse.mediators.builtin.SendMediator} DEBUG {org.apache.synapse.endpoints.IndirectEndpoint} - Loading real endpoint with key : gov:endpoints/epc/epc_api_endpoint.xml {org.apache.synapse.endpoints.IndirectEndpoint} DEBUG {org.apache.synapse.registry.AbstractRegistry} - Cached object has expired for key : gov:endpoints/epc/epc_api_endpoint.xml {org.apache.synapse.registry.AbstractRegistry} DEBUG {org.apache.synapse.registry.AbstractRegistry} - Expired version number is same as current version in registry {org.apache.synapse.registry.AbstractRegistry} DEBUG {org.apache.synapse.registry.AbstractRegistry} - Renew cache lease for another 15s {org.apache.synapse.registry.AbstractRegistry} DEBUG {org.apache.synapse.endpoints.EndpointContext} - Checking if endpoint : epc_api_endpoint with address https://remote_server.be/WebApi/resources currently at state SUSPENDED can be used now? {org.apache.synapse.endpoints.EndpointContext} DEBUG {org.apache.synapse.endpoints.EndpointContext} - Endpoint : epc_api_endpoint with address https://remote_server.be/WebApi/resources which is currently SUSPENDED, is ready to be retried now {org.apache.synapse.endpoints.EndpointContext} DEBUG {org.apache.synapse.endpoints.AddressEndpoint} - Sending message through endpoint : epc_api_endpoint resolving to address = https://remote_server.be/WebApi/resources {org.apache.synapse.endpoints.AddressEndpoint} DEBUG {org.apache.synapse.endpoints.AddressEndpoint} - SOAPAction: null {org.apache.synapse.endpoints.AddressEndpoint} DEBUG {org.apache.synapse.endpoints.AddressEndpoint} - WSA-Action: null {org.apache.synapse.endpoints.AddressEndpoint} {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient} {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient} DEBUG {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient} - Setting Timeout for endpoint : Endpoint [epc_api_endpoint], URI : https://remote_server.be/WebApi/resources/OldPgmType/intitComplet/L/2017/francais/psp1ba to static timeout value : 60000 {org.apache.synapse.core.axis2.Axis2FlexibleMEPClient} DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} - Callback added. Total callbacks waiting for : 1 {org.apache.synapse.core.axis2.SynapseCallbackReceiver} ERROR {org.apache.synapse.core.axis2.Axis2Sender} - Unexpected error during sending message out {org.apache.synapse.core.axis2.Axis2Sender} java.lang.NullPointerException at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:255) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) at org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:185) at org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:167) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:581) at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:78) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548) at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382) at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65) at org.apache.synapse.endpoints.IndirectEndpoint.send(IndirectEndpoint.java:55) at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.rest.Resource.process(Resource.java:343) at org.apache.synapse.rest.API.process(API.java:399) at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123) at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:75) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:325) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) WARN {org.apache.synapse.core.axis2.SynapseMessageReceiver} - Executing fault handler due to exception encountered {org.apache.synapse.core.axis2.SynapseMessageReceiver} WARN {org.apache.synapse.FaultHandler} - ERROR_CODE : 0 {org.apache.synapse.FaultHandler} WARN {org.apache.synapse.FaultHandler} - ERROR_MESSAGE : Unexpected error during sending message out {org.apache.synapse.FaultHandler} WARN {org.apache.synapse.FaultHandler} - ERROR_DETAIL : org.apache.synapse.SynapseException: Unexpected error during sending message out at org.apache.synapse.core.axis2.Axis2Sender.handleException(Axis2Sender.java:257) at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:84) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548) at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382) at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65) at org.apache.synapse.endpoints.IndirectEndpoint.send(IndirectEndpoint.java:55) at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.rest.Resource.process(Resource.java:343) at org.apache.synapse.rest.API.process(API.java:399) at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123) at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:75) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:325) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:255) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) at org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:185) at org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:167) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:581) at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:78) ... 22 more {org.apache.synapse.FaultHandler} WARN {org.apache.synapse.FaultHandler} - ERROR_EXCEPTION : org.apache.synapse.SynapseException: Unexpected error during sending message out {org.apache.synapse.FaultHandler} {org.apache.synapse.FaultHandler} DEBUG {org.apache.synapse.endpoints.AddressEndpoint} - Encountered a non-timeout error sending to Endpoint [epc_api_endpoint], error code : 0 {org.apache.synapse.endpoints.AddressEndpoint} encountered a fatal error : 0 {org.apache.synapse.endpoints.AddressEndpoint} WARN {org.apache.synapse.endpoints.EndpointContext} - Endpoint : epc_api_endpoint with address https://remote_server.be/WebApi/resources will be marked SUSPENDED as it failed {org.apache.synapse.endpoints.EndpointContext} WARN {org.apache.synapse.endpoints.EndpointContext} - Suspending endpoint : epc_api_endpoint with address https://remote_server.be/WebApi/resources - last suspend duration was : 30000ms and current suspend duration is : 30000ms - Next retry after : Thu Jan 11 11:11:19 CET 2018 {org.apache.synapse.endpoints.EndpointContext} WARN {org.apache.synapse.FaultHandler} - FaultHandler executing impl: org.apache.synapse.mediators.MediatorFaultHandler {org.apache.synapse.FaultHandler} WARN {org.apache.synapse.mediators.MediatorFaultHandler} - Executing fault handler mediator : org.apache.synapse.mediators.base.SequenceMediator {org.apache.synapse.mediators.MediatorFaultHandler} DEBUG {org.apache.synapse.mediators.base.SequenceMediator} - Start : Sequence {org.apache.synapse.mediators.base.SequenceMediator} DEBUG {org.apache.synapse.mediators.base.SequenceMediator} - Sequence :: mediate() {org.apache.synapse.mediators.base.SequenceMediator} DEBUG {org.apache.synapse.mediators.base.SequenceMediator} - Mediation started from mediator position : 0 {org.apache.synapse.mediators.base.SequenceMediator} DEBUG {org.apache.synapse.mediators.base.SequenceMediator} - End : Sequence {org.apache.synapse.mediators.base.SequenceMediator}
Some more trace logs ... I do not understand the meaning of "hasNoneAddress" reporting there:
[MessageContext: logID=a34940bd3f8e646a16843a00ed0866c21ae079eebf2d461e] send:urn:uuid:b6efe071-834b-49b8-963a-3641660b921b {org.apache.axis2.engine.AxisEngine} TRACE - [MessageContext: ....] Addressing is disabled. Not adding WS-Addressing headers. {org.apache.axis2.handlers.addressing.AddressingOutHandler} DEBUG - [MessageContext: ....] isReplyRedirected: ReplyTo is null. Returning false {org.apache.axis2.addressing.AddressingHelper} TRACE - hasAnonymousAddress: https:/remote_server/xxx/yyy is Anonymous: false {org.apache.axis2.addressing.EndpointReference} TRACE - hasNoneAddress: https:/remote_server/xxx/yyy is None: false {org.apache.axis2.addressing.
Any help should be appreciated. Bernard