[ 
https://issues.apache.org/jira/browse/ODE-925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vitaliy Tkachenko updated ODE-925:
----------------------------------

    Description: 
While having immediate HTTP error accessing external WS (e.g. endpoint domain 
is not resolved, no TCP connection available) ODE anyway waits for the 
[timeout] time (default is 2 minutes) and returns general fault 
TimeoutException with no details on the fault cause (SOAP response is "Timeout 
or execution error when waiting for response to MEX").
User may want to recognize such kinds of problems and try to recall the service 
but with current approach we need to wait for 2 minutes (!!!) when the fault is 
already known.
It's preferable to implement specific immediate errors instead like ones 
accordingly to "http://schemas.oracle.com/bpel/extension"; BPEL extensions.

To reproduce:
1. Create any BPEL process calling external WS in it (e.g. some Echo service 
over the Axis2 deployed on the same Tomcat). Deploy to ODE.
2. Run the process using SoapUI. Make sure it's able to successfully execute.
3. Stop that service, run the ODE BPEL process again.
Now you can find immediate failure in the ODE log (e.g. 
"org.apache.ode.axis2.ExternalService -- Error sending message" with 
corresponding cause). But ODE wait for 2 minutes and only then returns 
TimeoutException with SOAP response "Timeout or execution error when waiting 
for response to MEX".
Expected: immediate concrete fault.

Attached: "Echo Proxy" ODE BPEL process definition that may be used for the 
specified steps as an example, "Echo" Axis2 Web Service used in this BPEL 
process and its sources.


  was:
While having immediate HTTP error accessing external WS (e.g. endpoint domain 
is not resolved, no TCP connection available) ODE anyway waits for the 
[timeout] time (default is 2 minutes) and returns general fault 
TimeoutException with no details on the fault cause (SOAP response is "Timeout 
or execution error when waiting for response to MEX").
User may want to recognize such kinds of problems and try to recall the service 
but with current approach we need to wait for 2 minutes (!!!) when the fault is 
already known.
It's preferable to implement specific immediate errors instead like ones 
accordingly to "http://schemas.oracle.com/bpel/extension"; BPEL extensions.

To reproduce:
1. Create any BPEL process calling external WS in it (e.g. some Echo service 
over the Axis2 deployed on the same Tomcat). Deploy to ODE.
2. Run the process using SoapUI. Make sure it's able to successfully execute.
3. Stop that service, run the ODE BPEL process again.
Now you can find immediate failure in the ODE log (e.g. 
"org.apache.ode.axis2.ExternalService -- Error sending message" with 
corresponding cause). But ODE wait for 2 minutes and only then returns 
TimeoutException with SOAP response "Timeout or execution error when waiting 
for response to MEX".

Attached: "Echo Proxy" ODE BPEL process definition that may be used for the 
specified steps as an example, "Echo" Axis2 Web Service used in this BPEL 
process and its sources.



> TimeoutException instead of direct failure while accessing WS
> -------------------------------------------------------------
>
>                 Key: ODE-925
>                 URL: https://issues.apache.org/jira/browse/ODE-925
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3.5
>         Environment: Windows XP, Tomcat 7.0.6
>            Reporter: Vitaliy Tkachenko
>         Attachments: EchoProxy.zip, echo-1.0.aar, echo.zip
>
>
> While having immediate HTTP error accessing external WS (e.g. endpoint domain 
> is not resolved, no TCP connection available) ODE anyway waits for the 
> [timeout] time (default is 2 minutes) and returns general fault 
> TimeoutException with no details on the fault cause (SOAP response is 
> "Timeout or execution error when waiting for response to MEX").
> User may want to recognize such kinds of problems and try to recall the 
> service but with current approach we need to wait for 2 minutes (!!!) when 
> the fault is already known.
> It's preferable to implement specific immediate errors instead like ones 
> accordingly to "http://schemas.oracle.com/bpel/extension"; BPEL extensions.
> To reproduce:
> 1. Create any BPEL process calling external WS in it (e.g. some Echo service 
> over the Axis2 deployed on the same Tomcat). Deploy to ODE.
> 2. Run the process using SoapUI. Make sure it's able to successfully execute.
> 3. Stop that service, run the ODE BPEL process again.
> Now you can find immediate failure in the ODE log (e.g. 
> "org.apache.ode.axis2.ExternalService -- Error sending message" with 
> corresponding cause). But ODE wait for 2 minutes and only then returns 
> TimeoutException with SOAP response "Timeout or execution error when waiting 
> for response to MEX".
> Expected: immediate concrete fault.
> Attached: "Echo Proxy" ODE BPEL process definition that may be used for the 
> specified steps as an example, "Echo" Axis2 Web Service used in this BPEL 
> process and its sources.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to