You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Evanthika Amarasiri (JIRA)" <ji...@apache.org> on 2008/03/11 07:46:47 UTC

[jira] Created: (SYNAPSE-251) Synapse fails to handle the fault process properly

Synapse fails to handle the fault process properly
--------------------------------------------------

                 Key: SYNAPSE-251
                 URL: https://issues.apache.org/jira/browse/SYNAPSE-251
             Project: Synapse
          Issue Type: Bug
    Affects Versions: 1.1.1
         Environment: Ubuntu7.04, JDK1.5.0_14
            Reporter: Evanthika Amarasiri


Following scenarios were tried out

Scenario 1 - Sending a POX request to the server
==============================
1. Create a configuration as below
   <sequence name="xslt_transfom_sequence" onError="fault">
        <in>
            <xslt key="xslt_for_request"/>
            <send>
                <endpoint>
                    <address uri="http://[host]:[port]/services/invalid_service" format="pox"/>
                </endpoint>
            </send>
        </in>
        <out>
            <send/>
        </out>
    </sequence>

2. Send a SOAP request  from the client and convert it into a POX message before sending to the server.
3. Since the service URL does not exist it will return a SOAP fault but since a POX message is sent to the server, the fault returned should also be POX. But actually it just sends back an exception and not a POX fault.


Scenario 2 - Sending a REST request to the server
==============================
Similarly when a REST request is sent it just sends an error and not a REST fault

Therefore seems that Synapse cannot process faults properly

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


[jira] Commented: (SYNAPSE-251) Synapse fails to handle the fault process properly

Posted by "Ruwan Linton (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SYNAPSE-251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12578618#action_12578618 ] 

Ruwan Linton commented on SYNAPSE-251:
--------------------------------------

OK, now I got the issue correctly.

Well, this is an acceptable scenario (basically the issue resides on the non standard POX fault it self). There is no standard on sending a Fault through POX, so there is no way that we can detect whether this is an application message or a fault message unless through the HTTP status code, which will not be there for a JMS message? So I think this we can not handle uniformly.

Then if you look at the vise versa, that is sending a POX message to synapse and convert that to SOAP to talk to server, this also wrong and can be fixed. So I have fixed that path :).

If you want a pox message to be converted to a SOAPFault then you have to do it through configuration by checking whether a specific error element is present or not. I think this makes sense.

> Synapse fails to handle the fault process properly
> --------------------------------------------------
>
>                 Key: SYNAPSE-251
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-251
>             Project: Synapse
>          Issue Type: Bug
>    Affects Versions: 1.1.1
>         Environment: Ubuntu7.04, JDK1.5.0_14
>            Reporter: Evanthika Amarasiri
>            Assignee: Ruwan Linton
>
> Following scenarios were tried out
> Scenario 1 - Sending a POX request to the server
> ==============================
> 1. Create a configuration as below
>    <sequence name="xslt_transfom_sequence" onError="fault">
>         <in>
>             <xslt key="xslt_for_request"/>
>             <send>
>                 <endpoint>
>                     <address uri="http://[host]:[port]/services/invalid_service" format="pox"/>
>                 </endpoint>
>             </send>
>         </in>
>         <out>
>             <send/>
>         </out>
>     </sequence>
> 2. Send a SOAP request  from the client and convert it into a POX message before sending to the server.
> 3. Since the service URL does not exist it will return a SOAP fault but since a POX message is sent to the server, the fault returned should also be POX. But actually it just sends back an exception and not a POX fault.
> Scenario 2 - Sending a REST request to the server
> ==============================
> Similarly when a REST request is sent it just sends an error and not a REST fault
> Therefore seems that Synapse cannot process faults properly

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


[jira] Closed: (SYNAPSE-251) Synapse fails to handle the fault process properly

Posted by "Evanthika Amarasiri (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SYNAPSE-251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Evanthika Amarasiri closed SYNAPSE-251.
---------------------------------------


When a SOAP message is sent and if it is being converted to a POX/REST message at Synapse level and then if a SOAP fault occurs it is converted into a POX fault. Resolved in Version 1.2_QA_B1 . Therefore will be closing the issue

> Synapse fails to handle the fault process properly
> --------------------------------------------------
>
>                 Key: SYNAPSE-251
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-251
>             Project: Synapse
>          Issue Type: Bug
>    Affects Versions: 1.1.1
>         Environment: Ubuntu7.04, JDK1.5.0_14
>            Reporter: Evanthika Amarasiri
>            Assignee: Ruwan Linton
>             Fix For: 1.2
>
>
> Following scenarios were tried out
> Scenario 1 - Sending a POX request to the server
> ==============================
> 1. Create a configuration as below
>    <sequence name="xslt_transfom_sequence" onError="fault">
>         <in>
>             <xslt key="xslt_for_request"/>
>             <send>
>                 <endpoint>
>                     <address uri="http://[host]:[port]/services/invalid_service" format="pox"/>
>                 </endpoint>
>             </send>
>         </in>
>         <out>
>             <send/>
>         </out>
>     </sequence>
> 2. Send a SOAP request  from the client and convert it into a POX message before sending to the server.
> 3. Since the service URL does not exist it will return a SOAP fault but since a POX message is sent to the server, the fault returned should also be POX. But actually it just sends back an exception and not a POX fault.
> Scenario 2 - Sending a REST request to the server
> ==============================
> Similarly when a REST request is sent it just sends an error and not a REST fault
> Therefore seems that Synapse cannot process faults properly

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


[jira] Assigned: (SYNAPSE-251) Synapse fails to handle the fault process properly

Posted by "Ruwan Linton (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SYNAPSE-251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ruwan Linton reassigned SYNAPSE-251:
------------------------------------

    Assignee: Ruwan Linton

> Synapse fails to handle the fault process properly
> --------------------------------------------------
>
>                 Key: SYNAPSE-251
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-251
>             Project: Synapse
>          Issue Type: Bug
>    Affects Versions: 1.1.1
>         Environment: Ubuntu7.04, JDK1.5.0_14
>            Reporter: Evanthika Amarasiri
>            Assignee: Ruwan Linton
>
> Following scenarios were tried out
> Scenario 1 - Sending a POX request to the server
> ==============================
> 1. Create a configuration as below
>    <sequence name="xslt_transfom_sequence" onError="fault">
>         <in>
>             <xslt key="xslt_for_request"/>
>             <send>
>                 <endpoint>
>                     <address uri="http://[host]:[port]/services/invalid_service" format="pox"/>
>                 </endpoint>
>             </send>
>         </in>
>         <out>
>             <send/>
>         </out>
>     </sequence>
> 2. Send a SOAP request  from the client and convert it into a POX message before sending to the server.
> 3. Since the service URL does not exist it will return a SOAP fault but since a POX message is sent to the server, the fault returned should also be POX. But actually it just sends back an exception and not a POX fault.
> Scenario 2 - Sending a REST request to the server
> ==============================
> Similarly when a REST request is sent it just sends an error and not a REST fault
> Therefore seems that Synapse cannot process faults properly

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


[jira] Resolved: (SYNAPSE-251) Synapse fails to handle the fault process properly

Posted by "Ruwan Linton (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SYNAPSE-251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ruwan Linton resolved SYNAPSE-251.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.2

Part of this issue is invalid, but I have figured an relevant issue in processing faults in synapse, and fixed that.

> Synapse fails to handle the fault process properly
> --------------------------------------------------
>
>                 Key: SYNAPSE-251
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-251
>             Project: Synapse
>          Issue Type: Bug
>    Affects Versions: 1.1.1
>         Environment: Ubuntu7.04, JDK1.5.0_14
>            Reporter: Evanthika Amarasiri
>            Assignee: Ruwan Linton
>             Fix For: 1.2
>
>
> Following scenarios were tried out
> Scenario 1 - Sending a POX request to the server
> ==============================
> 1. Create a configuration as below
>    <sequence name="xslt_transfom_sequence" onError="fault">
>         <in>
>             <xslt key="xslt_for_request"/>
>             <send>
>                 <endpoint>
>                     <address uri="http://[host]:[port]/services/invalid_service" format="pox"/>
>                 </endpoint>
>             </send>
>         </in>
>         <out>
>             <send/>
>         </out>
>     </sequence>
> 2. Send a SOAP request  from the client and convert it into a POX message before sending to the server.
> 3. Since the service URL does not exist it will return a SOAP fault but since a POX message is sent to the server, the fault returned should also be POX. But actually it just sends back an exception and not a POX fault.
> Scenario 2 - Sending a REST request to the server
> ==============================
> Similarly when a REST request is sent it just sends an error and not a REST fault
> Therefore seems that Synapse cannot process faults properly

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


[jira] Commented: (SYNAPSE-251) Synapse fails to handle the fault process properly

Posted by "Ruwan Linton (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SYNAPSE-251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12578210#action_12578210 ] 

Ruwan Linton commented on SYNAPSE-251:
--------------------------------------

This issue seems confusing, Evanthika, I think you got the issue text messed up and the request to Synapse has to be a POX and it is converted to a SOAP request to the server.

Isn't it? If not I don't see an issue here :)

Ruwan

> Synapse fails to handle the fault process properly
> --------------------------------------------------
>
>                 Key: SYNAPSE-251
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-251
>             Project: Synapse
>          Issue Type: Bug
>    Affects Versions: 1.1.1
>         Environment: Ubuntu7.04, JDK1.5.0_14
>            Reporter: Evanthika Amarasiri
>            Assignee: Ruwan Linton
>
> Following scenarios were tried out
> Scenario 1 - Sending a POX request to the server
> ==============================
> 1. Create a configuration as below
>    <sequence name="xslt_transfom_sequence" onError="fault">
>         <in>
>             <xslt key="xslt_for_request"/>
>             <send>
>                 <endpoint>
>                     <address uri="http://[host]:[port]/services/invalid_service" format="pox"/>
>                 </endpoint>
>             </send>
>         </in>
>         <out>
>             <send/>
>         </out>
>     </sequence>
> 2. Send a SOAP request  from the client and convert it into a POX message before sending to the server.
> 3. Since the service URL does not exist it will return a SOAP fault but since a POX message is sent to the server, the fault returned should also be POX. But actually it just sends back an exception and not a POX fault.
> Scenario 2 - Sending a REST request to the server
> ==============================
> Similarly when a REST request is sent it just sends an error and not a REST fault
> Therefore seems that Synapse cannot process faults properly

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


[jira] Commented: (SYNAPSE-251) Synapse fails to handle the fault process properly

Posted by "Evanthika Amarasiri (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SYNAPSE-251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12578243#action_12578243 ] 

Evanthika Amarasiri commented on SYNAPSE-251:
---------------------------------------------

I'm sorry for making it confusing. The actual issue is that when I send a POX request from the client, Synapse would convert it to a POX message. Then when the fault is sent back to the client it should be sent as a SOAP fault and not as a POX message. This is what I was trying to say. But anyway the fault is sent to the client in the SOAP format but it is not sent as a SOAP fault. Instead, it is being sent as a normal exception message as below. Is this correct? Please clarify.

<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <soapenv:Body>
         <Exception>org.apache.axis2.AxisFault: The service cannot be found for the endpoint reference (..................</Exception>
      </soapenv:Body>
   </soapenv:Envelope>

> Synapse fails to handle the fault process properly
> --------------------------------------------------
>
>                 Key: SYNAPSE-251
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-251
>             Project: Synapse
>          Issue Type: Bug
>    Affects Versions: 1.1.1
>         Environment: Ubuntu7.04, JDK1.5.0_14
>            Reporter: Evanthika Amarasiri
>            Assignee: Ruwan Linton
>
> Following scenarios were tried out
> Scenario 1 - Sending a POX request to the server
> ==============================
> 1. Create a configuration as below
>    <sequence name="xslt_transfom_sequence" onError="fault">
>         <in>
>             <xslt key="xslt_for_request"/>
>             <send>
>                 <endpoint>
>                     <address uri="http://[host]:[port]/services/invalid_service" format="pox"/>
>                 </endpoint>
>             </send>
>         </in>
>         <out>
>             <send/>
>         </out>
>     </sequence>
> 2. Send a SOAP request  from the client and convert it into a POX message before sending to the server.
> 3. Since the service URL does not exist it will return a SOAP fault but since a POX message is sent to the server, the fault returned should also be POX. But actually it just sends back an exception and not a POX fault.
> Scenario 2 - Sending a REST request to the server
> ==============================
> Similarly when a REST request is sent it just sends an error and not a REST fault
> Therefore seems that Synapse cannot process faults properly

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org