Running EI 6.1.1 ESB Profile on Windows Server 2012 with JDK 1.8.0_121
Strange issue this ! :
I have an API which calls a backend service in the 'normal' way with an Endpoint which calls a proxy service (running on the same ESB server) which then proxies the request back to the back-end system. All of this is internal network only.
If I deploy the Endpoint as part of the CAR file to the production server , the endpoint essentially behaves almost as if it's not there. No errors are logged and somehow the payload intended to be sent out through the endpoint is being returned to the client through the API as a response.(not sure quite how yet as no fault sequences are called and no errors logged)
The proxy service it is bound to never gets hit (have checked by placing a full log mediator as 1st mediator in proxy) and the endpoint is not showing any failure or suspended state.
If I create the endpoint using the identical XML through the admin console then everything works as it should. UNTIL the ESB profile is restarted. After a restart it behaves as described above.
I have discovered that in either of the above cases - if I go to edit the endpoint through the admin console , MAKE NO CHANGES and immediately save it - then everything works again - obviously until the next ESB Profile restart.
Here's the Endpoint concerned:
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="Sworks">
<wsdl uri="http://intapi.mycompany.co.uk/services/SworksPxy?wsdl" service="SworksPxy" port="SworksPxyHttpSoap11Endpoint">
<suspendOnFailure>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
<retryDelay>0</retryDelay>
</markForSuspension>
</wsdl>
</endpoint>
Any help much appreciated. Obviously this is frustrating as it means our application fails each time the server gets rebooted or ESB profile restarted until someone can go in through the console and EDIT/SAVE the endpoint.
UPDATE: This seems to be something to do with the endpoint and it's target residing on the same ESB server. if I deploy the carbon application unmodified to my local runtime environment (through eclipse) - all works as it should. The endpoint is then still referencing the proxy service on the production server. If I update the endpoint to point to the proxy service deployed on the local runtime environment they failure behaviour is reproduced. Again - an Edit/Save fixes it.