You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Lee C K (JIRA)" <ji...@apache.org> on 2010/02/08 00:11:27 UTC

[jira] Created: (ODE-761) Wrong fault type is returned when invoking operation with mutliple fault types

Wrong fault type is returned when invoking operation with mutliple fault types 
-------------------------------------------------------------------------------

                 Key: ODE-761
                 URL: https://issues.apache.org/jira/browse/ODE-761
             Project: ODE
          Issue Type: Bug
          Components: JBI Integration
    Affects Versions: 1.3.4
            Reporter: Lee C K
            Priority: Critical


Using ode-jbi.messageMapper=org.apache.ode.jbi.msgmap.JbiWsdl11WrapperMapper, if a ws operation defines multiple fault types in the wsdl, when this operation is invoked and returns a fault message, the fault message that catch by bpel will always be the first fault type (first in alphabetical order). 

There is a mistake with JbiWsdl11WrapperMapper.toFaultType(line 207). if (etype.equals(p.getElementName())) will always return the first fault type in the fault types list. It should be changed to NOT EQUALS - if (!etype.equals(p.getElementName())) 

Example: 
When the search operation is called, the endpoint returns UnexpectedErrorFault . But when the fault message reaches bpel script, the fault message has somehow converted to InvalidSObjectFault. 
<definitions> 
        <operation name="search"> 
            <soap:operation soapAction=""/> 
            <input> 
                <soap:header use="literal" message="tns:Header" part="SessionHeader"/> 
                <soap:header use="literal" message="tns:Header" part="CallOptions"/> 
                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/> 
                <soap:body parts="parameters" use="literal"/> 
            </input> 
            <output> 
                <soap:body use="literal"/> 
            </output> 
            <fault name="InvalidSObjectFault"> 
                <soap:fault name="InvalidSObjectFault" use="literal"/> 
            </fault> 
            <fault name="InvalidFieldFault"> 
                <soap:fault name="InvalidFieldFault" use="literal"/> 
            </fault> 
            <fault name="MalformedSearchFault"> 
                <soap:fault name="MalformedSearchFault" use="literal"/> 
            </fault> 
            <fault name="UnexpectedErrorFault"> 
                <soap:fault name="UnexpectedErrorFault" use="literal"/> 
            </fault> 
        </operation> 
</definitions> 

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


[jira] Commented: (ODE-761) Wrong fault type is returned when invoking operation with mutliple fault types

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12832011#action_12832011 ] 

Hudson commented on ODE-761:
----------------------------

Integrated in ODE-1.x #45 (See [http://hudson.zones.apache.org/hudson/job/ODE-1.x/45/])
    : Wrong fault type is returned when invoking operation with mutliple fault types (test + fix)


> Wrong fault type is returned when invoking operation with mutliple fault types 
> -------------------------------------------------------------------------------
>
>                 Key: ODE-761
>                 URL: https://issues.apache.org/jira/browse/ODE-761
>             Project: ODE
>          Issue Type: Bug
>          Components: JBI Integration
>    Affects Versions: 1.3.4
>            Reporter: Lee C K
>            Assignee: Rafal Rusin
>            Priority: Critical
>             Fix For: 1.3.4
>
>
> Using ode-jbi.messageMapper=org.apache.ode.jbi.msgmap.JbiWsdl11WrapperMapper, if a ws operation defines multiple fault types in the wsdl, when this operation is invoked and returns a fault message, the fault message that catch by bpel will always be the first fault type (first in alphabetical order). 
> There is a mistake with JbiWsdl11WrapperMapper.toFaultType(line 207). if (etype.equals(p.getElementName())) will always return the first fault type in the fault types list. It should be changed to NOT EQUALS - if (!etype.equals(p.getElementName())) 
> Example: 
> When the search operation is called, the endpoint returns UnexpectedErrorFault . But when the fault message reaches bpel script, the fault message has somehow converted to InvalidSObjectFault. 
> <definitions> 
>         <operation name="search"> 
>             <soap:operation soapAction=""/> 
>             <input> 
>                 <soap:header use="literal" message="tns:Header" part="SessionHeader"/> 
>                 <soap:header use="literal" message="tns:Header" part="CallOptions"/> 
>                 <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/> 
>                 <soap:body parts="parameters" use="literal"/> 
>             </input> 
>             <output> 
>                 <soap:body use="literal"/> 
>             </output> 
>             <fault name="InvalidSObjectFault"> 
>                 <soap:fault name="InvalidSObjectFault" use="literal"/> 
>             </fault> 
>             <fault name="InvalidFieldFault"> 
>                 <soap:fault name="InvalidFieldFault" use="literal"/> 
>             </fault> 
>             <fault name="MalformedSearchFault"> 
>                 <soap:fault name="MalformedSearchFault" use="literal"/> 
>             </fault> 
>             <fault name="UnexpectedErrorFault"> 
>                 <soap:fault name="UnexpectedErrorFault" use="literal"/> 
>             </fault> 
>         </operation> 
> </definitions> 

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


[jira] Resolved: (ODE-761) Wrong fault type is returned when invoking operation with mutliple fault types

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

Rafal Rusin resolved ODE-761.
-----------------------------

       Resolution: Fixed
    Fix Version/s: 1.3.4

> Wrong fault type is returned when invoking operation with mutliple fault types 
> -------------------------------------------------------------------------------
>
>                 Key: ODE-761
>                 URL: https://issues.apache.org/jira/browse/ODE-761
>             Project: ODE
>          Issue Type: Bug
>          Components: JBI Integration
>    Affects Versions: 1.3.4
>            Reporter: Lee C K
>            Assignee: Rafal Rusin
>            Priority: Critical
>             Fix For: 1.3.4
>
>
> Using ode-jbi.messageMapper=org.apache.ode.jbi.msgmap.JbiWsdl11WrapperMapper, if a ws operation defines multiple fault types in the wsdl, when this operation is invoked and returns a fault message, the fault message that catch by bpel will always be the first fault type (first in alphabetical order). 
> There is a mistake with JbiWsdl11WrapperMapper.toFaultType(line 207). if (etype.equals(p.getElementName())) will always return the first fault type in the fault types list. It should be changed to NOT EQUALS - if (!etype.equals(p.getElementName())) 
> Example: 
> When the search operation is called, the endpoint returns UnexpectedErrorFault . But when the fault message reaches bpel script, the fault message has somehow converted to InvalidSObjectFault. 
> <definitions> 
>         <operation name="search"> 
>             <soap:operation soapAction=""/> 
>             <input> 
>                 <soap:header use="literal" message="tns:Header" part="SessionHeader"/> 
>                 <soap:header use="literal" message="tns:Header" part="CallOptions"/> 
>                 <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/> 
>                 <soap:body parts="parameters" use="literal"/> 
>             </input> 
>             <output> 
>                 <soap:body use="literal"/> 
>             </output> 
>             <fault name="InvalidSObjectFault"> 
>                 <soap:fault name="InvalidSObjectFault" use="literal"/> 
>             </fault> 
>             <fault name="InvalidFieldFault"> 
>                 <soap:fault name="InvalidFieldFault" use="literal"/> 
>             </fault> 
>             <fault name="MalformedSearchFault"> 
>                 <soap:fault name="MalformedSearchFault" use="literal"/> 
>             </fault> 
>             <fault name="UnexpectedErrorFault"> 
>                 <soap:fault name="UnexpectedErrorFault" use="literal"/> 
>             </fault> 
>         </operation> 
> </definitions> 

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


[jira] Assigned: (ODE-761) Wrong fault type is returned when invoking operation with mutliple fault types

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

Rafal Rusin reassigned ODE-761:
-------------------------------

    Assignee: Rafal Rusin

> Wrong fault type is returned when invoking operation with mutliple fault types 
> -------------------------------------------------------------------------------
>
>                 Key: ODE-761
>                 URL: https://issues.apache.org/jira/browse/ODE-761
>             Project: ODE
>          Issue Type: Bug
>          Components: JBI Integration
>    Affects Versions: 1.3.4
>            Reporter: Lee C K
>            Assignee: Rafal Rusin
>            Priority: Critical
>
> Using ode-jbi.messageMapper=org.apache.ode.jbi.msgmap.JbiWsdl11WrapperMapper, if a ws operation defines multiple fault types in the wsdl, when this operation is invoked and returns a fault message, the fault message that catch by bpel will always be the first fault type (first in alphabetical order). 
> There is a mistake with JbiWsdl11WrapperMapper.toFaultType(line 207). if (etype.equals(p.getElementName())) will always return the first fault type in the fault types list. It should be changed to NOT EQUALS - if (!etype.equals(p.getElementName())) 
> Example: 
> When the search operation is called, the endpoint returns UnexpectedErrorFault . But when the fault message reaches bpel script, the fault message has somehow converted to InvalidSObjectFault. 
> <definitions> 
>         <operation name="search"> 
>             <soap:operation soapAction=""/> 
>             <input> 
>                 <soap:header use="literal" message="tns:Header" part="SessionHeader"/> 
>                 <soap:header use="literal" message="tns:Header" part="CallOptions"/> 
>                 <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/> 
>                 <soap:body parts="parameters" use="literal"/> 
>             </input> 
>             <output> 
>                 <soap:body use="literal"/> 
>             </output> 
>             <fault name="InvalidSObjectFault"> 
>                 <soap:fault name="InvalidSObjectFault" use="literal"/> 
>             </fault> 
>             <fault name="InvalidFieldFault"> 
>                 <soap:fault name="InvalidFieldFault" use="literal"/> 
>             </fault> 
>             <fault name="MalformedSearchFault"> 
>                 <soap:fault name="MalformedSearchFault" use="literal"/> 
>             </fault> 
>             <fault name="UnexpectedErrorFault"> 
>                 <soap:fault name="UnexpectedErrorFault" use="literal"/> 
>             </fault> 
>         </operation> 
> </definitions> 

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