0
votes

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

1
Here is the API:user3134250
I forgot to say that other APIs have same problemuser3134250
The API (url) that you tried to post is not visible (perhaps URL's are blocked?) I've tried remote_server.be but no response :) It is difficult to see what is happening here. Could it be that the ESB was short on memory somewhere in the past and it needs a reboot?Jan
I do not want to publish here the real URL requested by our esb for security reason, that's why I've written the post with "remote_server". Anyway the URL of that remote server doesn't matter here since the problem exists with several APIs (with different backends). Also, the remote application is reachable and respond shen requested with curl command. Last but not least, using tool "tcpdump" on the esb server showed me there is absolutely NO request coming out of the esb during the error.user3134250
Difficult to say, might be that something weird is up with your registry or endpoint definition. Some suggestions: - reboot? - reproduce locally with copy of esb?- tested using 'call' instead of send? - tested using embedded endpoint instead of registry endpoint?Jan

1 Answers

0
votes

Fortunetely this was a test infrastrtacture. The "solution" was to reload a backup of the installation. We think the H2 DB was corrupted.