ODE
  1. ODE
  2. ODE-328

PartnerRoleMessageExchange#replyWithFault must receive fault name

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3.2
    • Component/s: BPEL Runtime
    • Labels:
      None

      Description

      org.apache.ode.bpel.iapi.PartnerRoleMessageExchange#replyWithFault(QName faultType, Message outputFaultMessage)

      The faultType is actually used as the fault name. If you actually pass the fault type, fault management will fail because FaultData#_faultName is a the fault type.
      See org.apache.ode.bpel.runtime.INVOKE, line 168.

      Fault Management has been working fine so far because this bug is masked by another one: SoapExternalService already provides the fault name instead of the fault type.
      See org.apache.ode.axis2.soapbinding.SoapMessageConverter#parseSoapFault

      The fix is to change replyWithFault signature to accept the fault name.

        Issue Links

          Activity

          Hide
          Alexis Midon added a comment - - edited

          This issue has remained dormant so far because in all test cases fault message and fault type are the same.

          To reproduce the issue:

          1. edit these 2 files:
          axis2-war/src/test/resources/TestStructuredFault/HelloWorld2.bpel
          axis2-war/src/test/resources/TestStructuredFault/dummy-service.wsdl
          2. rename the DummyException message into DummyExceptionMessage

          org.apache.ode.axis2.ServiceFaultCatchTest should now fail.

          Show
          Alexis Midon added a comment - - edited This issue has remained dormant so far because in all test cases fault message and fault type are the same. To reproduce the issue: 1. edit these 2 files: axis2-war/src/test/resources/TestStructuredFault/HelloWorld2.bpel axis2-war/src/test/resources/TestStructuredFault/dummy-service.wsdl 2. rename the DummyException message into DummyExceptionMessage org.apache.ode.axis2.ServiceFaultCatchTest should now fail.
          Hide
          Alexis Midon added a comment -

          Fix commited for trunk and branch:
          replyWithFault must receive faultName, not faultType no matter what the method signature says
          Step 2 would be to get ride of this dirty trick an refactor APIs so that fault type is not mentionned anymore

          Show
          Alexis Midon added a comment - Fix commited for trunk and branch: replyWithFault must receive faultName, not faultType no matter what the method signature says Step 2 would be to get ride of this dirty trick an refactor APIs so that fault type is not mentionned anymore

            People

            • Assignee:
              Alexis Midon
              Reporter:
              Alexis Midon
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development