RSP: MissingSelectionFault Is Not Returned On The Wire

Details

This behaviour was noted on WebSphere Application Server which uses Axis2/Sandesha2. All platforms/hardware.

Description

Scenario:

In RSP testing Oracle sends a data stream with an error in MakeConnection request

Sandesha2 Faults, but does not return a fault on the wire

From the tester...
For reference, the failing test is WS-I RSP test 1.14.
I actually managed to get this one through as a non-failure, but it
would be really nice if this fault was returned on the wire.

The test referred to is a WS-I RSP compliance test.

Analysis...
THe RMMessageReceiver extends the AbstractMessageReceiver, overriding certain methods. However, it does not override the receive method. The receive method of AbstractMessageReceiver simply consumes AxisFaults when a message is one-way, since there is no return path to deliver the Fault, however MakeConnection is a special case - although it's interface is one-way it is specifically designed to open up a back channel for passing back information so it seems appropriate to allow faults to be returned. To implement the fix, the RMMessageReceiver can simply implement the receive method to pass back Faults the fault is a MakeConnection fault.