This latest version of the WSTX11 test code uses the JaxWS based
implementation of XTS 1.1 (JBossTS 4.4.CR1 onwards) which runs on
JBoss AS 5.0.0.CR1 with the default deployed version of Web Services,
JBossWS 3.0.2 Native.

Implementation of this version of the interop code required modifying
the interop Initiator and Participant services so that they
communicate via JaxWS. This is because they have to use the WSCOOR
CoordinationContext types generated by the JaxWS wsdl compiler when
talking to the 1.1. services and hence when talking to each other
which invaldiates use of the serialisation code in Kev's roll-yer-own
soap stack (a plus point is that they can use use JaxB to
serialise/deserialise these types so the switch is not very complex).

The JaxWS fault notification problem has been resolved in the XTS code
and in this code. In summary, the problem arises because JaxWS only
provides for dispatch of faults as immediate (failure)
acknowledgements to incoming messages while the WS protocols require
asynchronous dispatch of faults to known endpoints after the
originating one way message has been acknowledged and the transport
closed.

The solution for both XTS and the iterop application is to
define a fault dispatch service API (wsdl) use JaxWS to generate a
corresponding client service class and stub. On the client side the
stub is invoke to send a fault message to the reply/fault address with
the requisite action in the message header. On the server side the
service implementation class implements a WebMethod specifying the
corresponding action. Note that this fault handling method is not
specified in the published XTS/interop wsdl.

With JBossWS native this solution works fine. With JBossWS Metro it
fails on two counts. Firstly, Metro compains about a the
implementation class providing a WebMethod which is not defined in the
wsdl (this is definitely over-picky -- someone could quite
legitimately want to employ the same class to implement several web
services). Secondly, even if the wsdl is modified to include the extra
fault dispatch operation Metro refuses to deliver a message whose
input is a soap fault (this is totally brain dead!).

All the AT and BA interop tests run successfully against another JBoss
XTS instance (with the exception of BA Mixed Outcome which is not
implemented).

They all run successfully against the IBM interop endpoint when JBoss
provides the initiator service and IBM provides the participant
service.

They all run successfully against the IBM interop endpoint when JBoss
is providing the participant service and IBM provides the initiator
service apart from two failures caused by an error in the IBM
implementation.
