You are viewing a plain text version of this content. The canonical link for it is here.
Posted to kandula-dev@ws.apache.org by da...@apache.org on 2006/01/02 20:21:42 UTC

svn commit: r365405 - in /webservices/kandula/branches/Kandula_1/src/samples/interopibm: ./ build/ src/

Author: dasarath
Date: Mon Jan  2 11:21:39 2006
New Revision: 365405

URL: http://svn.apache.org/viewcvs?rev=365405&view=rev
Log: (empty)

Added:
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/InteropService.wsdl
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/build/
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/build.xml
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/client-config.wsdd
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InitiatorApp.java
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InteropServiceSoapBindingImpl.java
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/ManInTheMiddle.java
    webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/SetCoordCtxHandler.java

Added: webservices/kandula/branches/Kandula_1/src/samples/interopibm/InteropService.wsdl
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/samples/interopibm/InteropService.wsdl?rev=365405&view=auto
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/samples/interopibm/InteropService.wsdl (added)
+++ webservices/kandula/branches/Kandula_1/src/samples/interopibm/InteropService.wsdl Mon Jan  2 11:21:39 2006
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://localhost:8989/wstx/services/InteropService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8989/wstx/services/InteropService" xmlns:intf="http://localhost:8989/wstx/services/InteropService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://fabrikam123.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:types><schema targetNamespace="http://fabrikam123.com" xmlns="http://www.w3.org/2001/XMLSchema"><element name="Commit" type="xsd:string"/><element name="Rollback" type="xsd:string"/><element name="Phase2Rollback" type="xsd:string"/><element name="Readonly" type="xsd:string"/><element name="VolatileAndDurable" type="xsd:string"/><element name="EarlyReadonly" type="xsd:string"/><element name="EarlyAborted" type="xsd:string"/><element n
 ame="ReplayAbort" type="xsd:string"/><element name="ReplayCommit" type="xsd:string"/><element name="RetryPreparedCommit" type="xsd:string"/><element name="RetryPreparedAbort" type="xsd:string"/><element name="RetryCommit" type="xsd:string"/><element name="RetryReplay" type="xsd:string"/><element name="PreparedAfterTimeout" type="xsd:string"/><element name="LostCommitted" type="xsd:string"/><element name="ParticipantClosed" type="xsd:string"/><element name="ParticipantCompensated" type="xsd:string"/><element name="ParticipantCanceled" type="xsd:string"/><element name="ParticipantExit" type="xsd:string"/><element name="ParticipantFault" type="xsd:string"/><element name="ParticipantCompensationFault" type="xsd:string"/><element name="CompletionCommit" type="xsd:string"/><element name="CompletionRollback" type="xsd:string"/><element name="InvalidProtocol" type="xsd:string"/></schema><schema targetNamespace="http://localhost:8989/wstx/services/InteropService" xmlns="http://www.w3
 .org/2001/XMLSchema"><element name="CommitReturn" type="xsd:string"/><element name="RollbackReturn" type="xsd:string"/><element name="Phase2RollbackReturn" type="xsd:string"/><element name="ReadonlyReturn" type="xsd:string"/><element name="VolatileAndDurableReturn" type="xsd:string"/><element name="EarlyReadonlyReturn" type="xsd:string"/><element name="EarlyAbortedReturn" type="xsd:string"/><element name="ReplayAbortReturn" type="xsd:string"/><element name="ReplayCommitReturn" type="xsd:string"/><element name="RetryPreparedCommitReturn" type="xsd:string"/><element name="RetryPreparedAbortReturn" type="xsd:string"/><element name="RetryCommitReturn" type="xsd:string"/><element name="RetryReplayReturn" type="xsd:string"/><element name="PreparedAfterTimeoutReturn" type="xsd:string"/><element name="LostCommittedReturn" type="xsd:string"/><element name="ParticipantClosedReturn" type="xsd:string"/><element name="ParticipantCompensatedReturn" type="xsd:string"/><element name="Partic
 ipantCanceledReturn" type="xsd:string"/><element name="ParticipantExitReturn" type="xsd:string"/><element name="ParticipantFaultReturn" type="xsd:string"/><element name="ParticipantCompensationFaultReturn" type="xsd:string"/><element name="CompletionCommitReturn" type="xsd:string"/><element name="CompletionRollbackReturn" type="xsd:string"/><element name="InvalidProtocolReturn" type="xsd:string"/></schema></wsdl:types><wsdl:message name="RetryReplayRequest"><wsdl:part element="tns1:RetryReplay" name="part"/></wsdl:message><wsdl:message name="CompletionCommitRequest"><wsdl:part element="tns1:CompletionCommit" name="part"/></wsdl:message><wsdl:message name="EarlyAbortedRequest"><wsdl:part element="tns1:EarlyAborted" name="part"/></wsdl:message><wsdl:message name="ReadonlyResponse"><wsdl:part element="impl:ReadonlyReturn" name="ReadonlyReturn"/></wsdl:message><wsdl:message name="EarlyReadonlyRequest"><wsdl:part element="tns1:EarlyReadonly" name="part"/></wsdl:message><wsdl:mess
 age name="CommitResponse"><wsdl:part element="impl:CommitReturn" name="CommitReturn"/></wsdl:message><wsdl:message name="RetryPreparedAbortResponse"><wsdl:part element="impl:RetryPreparedAbortReturn" name="RetryPreparedAbortReturn"/></wsdl:message><wsdl:message name="RetryCommitRequest"><wsdl:part element="tns1:RetryCommit" name="part"/></wsdl:message><wsdl:message name="RetryReplayResponse"><wsdl:part element="impl:RetryReplayReturn" name="RetryReplayReturn"/></wsdl:message><wsdl:message name="RetryCommitResponse"><wsdl:part element="impl:RetryCommitReturn" name="RetryCommitReturn"/></wsdl:message><wsdl:message name="CompletionRollbackRequest"><wsdl:part element="tns1:CompletionRollback" name="part"/></wsdl:message><wsdl:message name="PreparedAfterTimeoutResponse"><wsdl:part element="impl:PreparedAfterTimeoutReturn" name="PreparedAfterTimeoutReturn"/></wsdl:message><wsdl:message name="VolatileAndDurableResponse"><wsdl:part element="impl:VolatileAndDurableReturn" name="Volat
 ileAndDurableReturn"/></wsdl:message><wsdl:message name="ParticipantExitRequest"><wsdl:part element="tns1:ParticipantExit" name="part"/></wsdl:message><wsdl:message name="ParticipantCanceledResponse"><wsdl:part element="impl:ParticipantCanceledReturn" name="ParticipantCanceledReturn"/></wsdl:message><wsdl:message name="CompletionCommitResponse"><wsdl:part element="impl:CompletionCommitReturn" name="CompletionCommitReturn"/></wsdl:message><wsdl:message name="EarlyReadonlyResponse"><wsdl:part element="impl:EarlyReadonlyReturn" name="EarlyReadonlyReturn"/></wsdl:message><wsdl:message name="RetryPreparedCommitResponse"><wsdl:part element="impl:RetryPreparedCommitReturn" name="RetryPreparedCommitReturn"/></wsdl:message><wsdl:message name="ParticipantCanceledRequest"><wsdl:part element="tns1:ParticipantCanceled" name="part"/></wsdl:message><wsdl:message name="InvalidProtocolRequest"><wsdl:part element="tns1:InvalidProtocol" name="part"/></wsdl:message><wsdl:message name="Participa
 ntFaultResponse"><wsdl:part element="impl:ParticipantFaultReturn" name="ParticipantFaultReturn"/></wsdl:message><wsdl:message name="ParticipantCompensatedResponse"><wsdl:part element="impl:ParticipantCompensatedReturn" name="ParticipantCompensatedReturn"/></wsdl:message><wsdl:message name="PreparedAfterTimeoutRequest"><wsdl:part element="tns1:PreparedAfterTimeout" name="part"/></wsdl:message><wsdl:message name="ReplayCommitRequest"><wsdl:part element="tns1:ReplayCommit" name="part"/></wsdl:message><wsdl:message name="VolatileAndDurableRequest"><wsdl:part element="tns1:VolatileAndDurable" name="part"/></wsdl:message><wsdl:message name="ReplayCommitResponse"><wsdl:part element="impl:ReplayCommitReturn" name="ReplayCommitReturn"/></wsdl:message><wsdl:message name="ParticipantCompensationFaultResponse"><wsdl:part element="impl:ParticipantCompensationFaultReturn" name="ParticipantCompensationFaultReturn"/></wsdl:message><wsdl:message name="ParticipantCompensatedRequest"><wsdl:par
 t element="tns1:ParticipantCompensated" name="part"/></wsdl:message><wsdl:message name="LostCommittedRequest"><wsdl:part element="tns1:LostCommitted" name="part"/></wsdl:message><wsdl:message name="ReplayAbortRequest"><wsdl:part element="tns1:ReplayAbort" name="part"/></wsdl:message><wsdl:message name="ParticipantCompensationFaultRequest"><wsdl:part element="tns1:ParticipantCompensationFault" name="part"/></wsdl:message><wsdl:message name="ParticipantExitResponse"><wsdl:part element="impl:ParticipantExitReturn" name="ParticipantExitReturn"/></wsdl:message><wsdl:message name="CommitRequest"><wsdl:part element="tns1:Commit" name="part"/></wsdl:message><wsdl:message name="InvalidProtocolResponse"><wsdl:part element="impl:InvalidProtocolReturn" name="InvalidProtocolReturn"/></wsdl:message><wsdl:message name="ReplayAbortResponse"><wsdl:part element="impl:ReplayAbortReturn" name="ReplayAbortReturn"/></wsdl:message><wsdl:message name="RetryPreparedAbortRequest"><wsdl:part element="
 tns1:RetryPreparedAbort" name="part"/></wsdl:message><wsdl:message name="EarlyAbortedResponse"><wsdl:part element="impl:EarlyAbortedReturn" name="EarlyAbortedReturn"/></wsdl:message><wsdl:message name="RollbackResponse"><wsdl:part element="impl:RollbackReturn" name="RollbackReturn"/></wsdl:message><wsdl:message name="RollbackRequest"><wsdl:part element="tns1:Rollback" name="part"/></wsdl:message><wsdl:message name="ParticipantFaultRequest"><wsdl:part element="tns1:ParticipantFault" name="part"/></wsdl:message><wsdl:message name="Phase2RollbackResponse"><wsdl:part element="impl:Phase2RollbackReturn" name="Phase2RollbackReturn"/></wsdl:message><wsdl:message name="CompletionRollbackResponse"><wsdl:part element="impl:CompletionRollbackReturn" name="CompletionRollbackReturn"/></wsdl:message><wsdl:message name="LostCommittedResponse"><wsdl:part element="impl:LostCommittedReturn" name="LostCommittedReturn"/></wsdl:message><wsdl:message name="ParticipantClosedResponse"><wsdl:part el
 ement="impl:ParticipantClosedReturn" name="ParticipantClosedReturn"/></wsdl:message><wsdl:message name="ReadonlyRequest"><wsdl:part element="tns1:Readonly" name="part"/></wsdl:message><wsdl:message name="ParticipantClosedRequest"><wsdl:part element="tns1:ParticipantClosed" name="part"/></wsdl:message><wsdl:message name="Phase2RollbackRequest"><wsdl:part element="tns1:Phase2Rollback" name="part"/></wsdl:message><wsdl:message name="RetryPreparedCommitRequest"><wsdl:part element="tns1:RetryPreparedCommit" name="part"/></wsdl:message><wsdl:portType name="InteropService"><wsdl:operation name="Commit"><wsdl:input message="impl:CommitRequest" name="CommitRequest"/><wsdl:output message="impl:CommitResponse" name="CommitResponse"/></wsdl:operation><wsdl:operation name="Rollback"><wsdl:input message="impl:RollbackRequest" name="RollbackRequest"/><wsdl:output message="impl:RollbackResponse" name="RollbackResponse"/></wsdl:operation><wsdl:operation name="Phase2Rollback"><wsdl:input mess
 age="impl:Phase2RollbackRequest" name="Phase2RollbackRequest"/><wsdl:output message="impl:Phase2RollbackResponse" name="Phase2RollbackResponse"/></wsdl:operation><wsdl:operation name="Readonly"><wsdl:input message="impl:ReadonlyRequest" name="ReadonlyRequest"/><wsdl:output message="impl:ReadonlyResponse" name="ReadonlyResponse"/></wsdl:operation><wsdl:operation name="VolatileAndDurable"><wsdl:input message="impl:VolatileAndDurableRequest" name="VolatileAndDurableRequest"/><wsdl:output message="impl:VolatileAndDurableResponse" name="VolatileAndDurableResponse"/></wsdl:operation><wsdl:operation name="EarlyReadonly"><wsdl:input message="impl:EarlyReadonlyRequest" name="EarlyReadonlyRequest"/><wsdl:output message="impl:EarlyReadonlyResponse" name="EarlyReadonlyResponse"/></wsdl:operation><wsdl:operation name="EarlyAborted"><wsdl:input message="impl:EarlyAbortedRequest" name="EarlyAbortedRequest"/><wsdl:output message="impl:EarlyAbortedResponse" name="EarlyAbortedResponse"/></wsd
 l:operation><wsdl:operation name="ReplayAbort"><wsdl:input message="impl:ReplayAbortRequest" name="ReplayAbortRequest"/><wsdl:output message="impl:ReplayAbortResponse" name="ReplayAbortResponse"/></wsdl:operation><wsdl:operation name="ReplayCommit"><wsdl:input message="impl:ReplayCommitRequest" name="ReplayCommitRequest"/><wsdl:output message="impl:ReplayCommitResponse" name="ReplayCommitResponse"/></wsdl:operation><wsdl:operation name="RetryPreparedCommit"><wsdl:input message="impl:RetryPreparedCommitRequest" name="RetryPreparedCommitRequest"/><wsdl:output message="impl:RetryPreparedCommitResponse" name="RetryPreparedCommitResponse"/></wsdl:operation><wsdl:operation name="RetryPreparedAbort"><wsdl:input message="impl:RetryPreparedAbortRequest" name="RetryPreparedAbortRequest"/><wsdl:output message="impl:RetryPreparedAbortResponse" name="RetryPreparedAbortResponse"/></wsdl:operation><wsdl:operation name="RetryCommit"><wsdl:input message="impl:RetryCommitRequest" name="RetryC
 ommitRequest"/><wsdl:output message="impl:RetryCommitResponse" name="RetryCommitResponse"/></wsdl:operation><wsdl:operation name="RetryReplay"><wsdl:input message="impl:RetryReplayRequest" name="RetryReplayRequest"/><wsdl:output message="impl:RetryReplayResponse" name="RetryReplayResponse"/></wsdl:operation><wsdl:operation name="PreparedAfterTimeout"><wsdl:input message="impl:PreparedAfterTimeoutRequest" name="PreparedAfterTimeoutRequest"/><wsdl:output message="impl:PreparedAfterTimeoutResponse" name="PreparedAfterTimeoutResponse"/></wsdl:operation><wsdl:operation name="LostCommitted"><wsdl:input message="impl:LostCommittedRequest" name="LostCommittedRequest"/><wsdl:output message="impl:LostCommittedResponse" name="LostCommittedResponse"/></wsdl:operation><wsdl:operation name="ParticipantClosed"><wsdl:input message="impl:ParticipantClosedRequest" name="ParticipantClosedRequest"/><wsdl:output message="impl:ParticipantClosedResponse" name="ParticipantClosedResponse"/></wsdl:op
 eration><wsdl:operation name="ParticipantCompensated"><wsdl:input message="impl:ParticipantCompensatedRequest" name="ParticipantCompensatedRequest"/><wsdl:output message="impl:ParticipantCompensatedResponse" name="ParticipantCompensatedResponse"/></wsdl:operation><wsdl:operation name="ParticipantCanceled"><wsdl:input message="impl:ParticipantCanceledRequest" name="ParticipantCanceledRequest"/><wsdl:output message="impl:ParticipantCanceledResponse" name="ParticipantCanceledResponse"/></wsdl:operation><wsdl:operation name="ParticipantExit"><wsdl:input message="impl:ParticipantExitRequest" name="ParticipantExitRequest"/><wsdl:output message="impl:ParticipantExitResponse" name="ParticipantExitResponse"/></wsdl:operation><wsdl:operation name="ParticipantFault"><wsdl:input message="impl:ParticipantFaultRequest" name="ParticipantFaultRequest"/><wsdl:output message="impl:ParticipantFaultResponse" name="ParticipantFaultResponse"/></wsdl:operation><wsdl:operation name="ParticipantComp
 ensationFault"><wsdl:input message="impl:ParticipantCompensationFaultRequest" name="ParticipantCompensationFaultRequest"/><wsdl:output message="impl:ParticipantCompensationFaultResponse" name="ParticipantCompensationFaultResponse"/></wsdl:operation><wsdl:operation name="CompletionCommit"><wsdl:input message="impl:CompletionCommitRequest" name="CompletionCommitRequest"/><wsdl:output message="impl:CompletionCommitResponse" name="CompletionCommitResponse"/></wsdl:operation><wsdl:operation name="CompletionRollback"><wsdl:input message="impl:CompletionRollbackRequest" name="CompletionRollbackRequest"/><wsdl:output message="impl:CompletionRollbackResponse" name="CompletionRollbackResponse"/></wsdl:operation><wsdl:operation name="InvalidProtocol"><wsdl:input message="impl:InvalidProtocolRequest" name="InvalidProtocolRequest"/><wsdl:output message="impl:InvalidProtocolResponse" name="InvalidProtocolResponse"/></wsdl:operation></wsdl:portType><wsdl:binding name="InteropServiceSoapBin
 ding" type="impl:InteropService"><wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="Commit"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="CommitRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="CommitResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="Rollback"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="RollbackRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="RollbackResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="Phase2Rollback"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="Phase2RollbackRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="liter
 al"/></wsdl:input><wsdl:output name="Phase2RollbackResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="Readonly"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="ReadonlyRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="ReadonlyResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="VolatileAndDurable"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="VolatileAndDurableRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="VolatileAndDurableResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="EarlyReadonly"><wsdlsoap:operation soapAction="urn:foo"/
 ><wsdl:input name="EarlyReadonlyRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="EarlyReadonlyResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="EarlyAborted"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="EarlyAbortedRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="EarlyAbortedResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="ReplayAbort"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="ReplayAbortRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="ReplayAbortResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></ws
 dl:operation><wsdl:operation name="ReplayCommit"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="ReplayCommitRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="ReplayCommitResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="RetryPreparedCommit"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="RetryPreparedCommitRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="RetryPreparedCommitResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="RetryPreparedAbort"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="RetryPreparedAbortRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="RetryPrep
 aredAbortResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="RetryCommit"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="RetryCommitRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="RetryCommitResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="RetryReplay"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="RetryReplayRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="RetryReplayResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="PreparedAfterTimeout"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="PreparedAfterTimeoutRequest"
 ><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="PreparedAfterTimeoutResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="LostCommitted"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="LostCommittedRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="LostCommittedResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="ParticipantClosed"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="ParticipantClosedRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="ParticipantClosedResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation
 ><wsdl:operation name="ParticipantCompensated"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="ParticipantCompensatedRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="ParticipantCompensatedResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="ParticipantCanceled"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="ParticipantCanceledRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="ParticipantCanceledResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="ParticipantExit"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="ParticipantExitRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output nam
 e="ParticipantExitResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="ParticipantFault"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="ParticipantFaultRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="ParticipantFaultResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="ParticipantCompensationFault"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="ParticipantCompensationFaultRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="ParticipantCompensationFaultResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="CompletionCommit"><wsdlsoap:operati
 on soapAction="urn:foo"/><wsdl:input name="CompletionCommitRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="CompletionCommitResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="CompletionRollback"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="CompletionRollbackRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="CompletionRollbackResponse"><wsdlsoap:body namespace="http://localhost:8989/wstx/services/InteropService" use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="InvalidProtocol"><wsdlsoap:operation soapAction="urn:foo"/><wsdl:input name="InvalidProtocolRequest"><wsdlsoap:body namespace="http://fabrikam123.com" use="literal"/></wsdl:input><wsdl:output name="InvalidProtocolResponse"><wsdlsoap:body namespace="http://localhost:8989/wst
 x/services/InteropService" use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="InteropServiceService"><wsdl:port binding="impl:InteropServiceSoapBinding" name="InteropService"><wsdlsoap:address location="http://localhost:8081/axis/services/InteropService"/></wsdl:port></wsdl:service></wsdl:definitions>
\ No newline at end of file

Added: webservices/kandula/branches/Kandula_1/src/samples/interopibm/build.xml
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/samples/interopibm/build.xml?rev=365405&view=auto
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/samples/interopibm/build.xml (added)
+++ webservices/kandula/branches/Kandula_1/src/samples/interopibm/build.xml Mon Jan  2 11:21:39 2006
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<project name="kandula"
+	 default="compile"
+	 basedir=".">
+
+	 <property name="src.dir" value="src" />	 
+ 	 <property name="build.dir" value="build" />
+ 	 <property name="home.dir" value="../../.." />
+  	 
+	 <property file="${home.dir}/build.properties" />  	  	 
+	 
+	 <path id="base.classpath">
+	 	<fileset dir="${home.dir}/target/lib" >
+	 		<include name="**/*.jar" />
+		</fileset>
+	 	<fileset dir="${home.dir}/target" >
+		 	<include name="**/*.jar" />
+		</fileset>		
+	 </path>
+	 
+	 <taskdef resource="axis-tasks.properties"  classpathref="base.classpath" />
+	 
+	 <target name="compile" depends="wsdl2java" >
+	 	<javac srcdir="${src.dir};${build.dir}/src" destdir="${build.dir}">
+	 		<classpath refid="base.classpath" />
+	 	</javac>
+	 </target>
+	 
+	 <target name="clean" >
+	 	<delete dir="${build.dir}" /> 	
+	 </target> 
+
+	 <target name="init" >
+	 	<mkdir dir="${build.dir}" />
+	 	<mkdir dir="${build.dir}/src" />
+	 </target>
+	 
+	 <target name="wsdl2java" depends="init">
+		 <axis-wsdl2java
+		 	output="${build.dir}/src"
+		 	serverside = "false"
+		 	testcase = "false"
+		 	url= "InteropService.wsdl" >		 	
+	 		<mapping namespace="http://localhost:8989/wstx/services/InteropService" package="" />
+		 </axis-wsdl2java>
+	</target>
+	
+	<target name="dist" depends="compile">
+		<jar jarfile="${build.dir}/interop-ibm.jar">
+			<fileset dir="${build.dir}">
+				<include name="**/*.class" />
+			</fileset>
+		</jar>
+	</target>
+	
+	<target name="test" >
+	 	<junit printsummary="withOutAndErr" >
+	 		<formatter type="plain"/>
+	 		<classpath>	 			
+		 		<path refid="base.classpath" />
+	 			<fileset dir="${basedir}/build" includes="*.jar" />
+		 		<pathelement location="${ws-tx.dir}/conf" />
+		 	</classpath>
+	 		<test name="InteropServiceTestCase" />
+		</junit>
+	 </target>
+</project>
\ No newline at end of file

Added: webservices/kandula/branches/Kandula_1/src/samples/interopibm/client-config.wsdd
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/samples/interopibm/client-config.wsdd?rev=365405&view=auto
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/samples/interopibm/client-config.wsdd (added)
+++ webservices/kandula/branches/Kandula_1/src/samples/interopibm/client-config.wsdd Mon Jan  2 11:21:39 2006
@@ -0,0 +1,71 @@
+<!-- a barebone jboss.net/axis client configuration which includes some basic typemappings related to jboss -->
+
+<deployment name="defaultClientConfig"
+            xmlns="http://xml.apache.org/axis/wsdd/"
+            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
+
+  <globalConfiguration>
+	<parameter name="sendMultiRefs" value="false"/>
+	<parameter name="disablePrettyXML" value="true"/>
+        
+        <requestFlow>
+
+		<handler type="java:org.apache.axis.message.addressing.handler.AddressingHandler" />
+		<handler type="java:SetCoordCtxHandler" />
+        </requestFlow>
+        <responseFlow>
+		<handler type="java:org.apache.axis.message.addressing.handler.AddressingHandler" />        
+        </responseFlow>
+  </globalConfiguration>
+
+  <transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender">
+	<requestFlow>		
+	</requestFlow>
+	<responseFlow>		
+	</responseFlow>	
+  </transport>
+
+ <transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/>
+ <transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/>
+
+<typeMapping
+	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"
+      deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" 
+      encodingStyle="" 
+      qname="wsa:EndpointReference" 
+      serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
+      type="java:org.apache.axis.message.addressing.EndpointReferenceType"/>
+
+ <typeMapping
+	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" 
+      deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" 
+      encodingStyle="" 
+      qname="wsa:ReferencePropertiesType" 
+      serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" 
+      type="java:org.apache.axis.message.addressing.ReferencePropertiesType"/>
+
+ <typeMapping 
+	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"
+      deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" 
+      encodingStyle="" 
+      qname="wsa:Address" 
+      serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" 
+      type="java:org.apache.axis.message.addressing.Address"/>
+
+ <typeMapping 
+	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"
+      deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" 
+      encodingStyle="" 
+      qname="wsa:PortType" 
+      serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" 
+      type="java:org.apache.axis.message.addressing.PortType" />
+
+ <typeMapping 
+	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"
+      deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory" 
+      encodingStyle="" 
+      qname="wsa:ServiceNameType" 
+      serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory" 
+      type="java:org.apache.axis.message.addressing.ServiceNameType" />
+
+</deployment>

Added: webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InitiatorApp.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InitiatorApp.java?rev=365405&view=auto
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InitiatorApp.java (added)
+++ webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InitiatorApp.java Mon Jan  2 11:21:39 2006
@@ -0,0 +1,159 @@
+
+import java.net.URL;
+
+import org.apache.axis.message.addressing.EndpointReference;
+import org.apache.ws.transaction.coordinator.ActivationStub;
+import org.apache.ws.transaction.coordinator.CoordinationContext;
+import org.apache.ws.transaction.coordinator.at.ATCoordinator;
+import org.apache.ws.transaction.coordinator.at.CompletionCoordinatorStub;
+import org.apache.ws.transaction.utility.TCPSnifferHelper;
+
+/*
+ * Created on Dec 29, 2005
+ *
+ */
+
+/**
+ * @author Dasarath Weeratunge
+ *  
+ */
+public class InitiatorApp {
+	
+	private final String IBM_INTEROP_SERVICE = "http://wsi.alphaworks.ibm.com:8080/wstx/services/InteropService";
+	
+	private final String KANDULA_INTEROP_SERVICE = "http://localhost:8081/axis/services/InteropService";
+
+	private final String KANDULA_ACTIVATION_SERVICE = "http://localhost:8081/axis/services/Activation";
+	
+	private String eprOfInteropService = KANDULA_INTEROP_SERVICE;
+
+	private InteropService_PortType getInteropService() throws Exception {
+		return new InteropServiceServiceLocator().getInteropService(new URL(
+				TCPSnifferHelper.redirect(eprOfInteropService)));
+	}
+
+	public void testCompletionCommit() throws Exception {
+		getInteropService().completionCommit(KANDULA_ACTIVATION_SERVICE);
+	}
+
+	public void testCompletionRollback() throws Exception {
+		getInteropService().completionRollback(KANDULA_ACTIVATION_SERVICE);
+	}
+
+	public void testCommit() throws Exception {
+		begin();
+		getInteropService().commit(null);
+		commit();
+	}
+
+	public void testRollback() throws Exception {
+		begin();
+		getInteropService().rollback(null);
+		rollback();
+	}
+
+	public void testPhase2Rollback() throws Exception {
+		begin();
+		getInteropService().phase2Rollback(null);
+		commit();
+	}
+
+	public void testReadonly() throws Exception {
+		begin();
+		getInteropService().readonly(null);
+		commit();
+	}
+
+	public void testVolatileAndDurable() throws Exception {
+		begin();
+		getInteropService().volatileAndDurable(null);
+		commit();
+	}
+
+	public void testEarlyReadonly() throws Exception {
+		begin();
+		getInteropService().earlyReadonly(null);
+		commit();
+	}
+
+	public void testEarlyAborted() throws Exception {
+		begin();
+		getInteropService().earlyAborted(null);
+	}
+
+	public void testReplayAbort() throws Exception {
+		begin();
+		getInteropService().replayAbort(null);
+		commit();
+	}
+
+	public void testReplayCommit() throws Exception {
+		begin();
+		getInteropService().replayCommit(null);
+		commit();
+	}
+
+	public void testRetryPreparedCommit() throws Exception {
+		begin();
+		getInteropService().retryPreparedCommit(null);
+		commit();
+	}
+
+	public void testRetryPreparedAbort() throws Exception {
+		begin();
+		getInteropService().retryPreparedAbort(null);
+		commit();
+	}
+
+	public void testRetryCommit() throws Exception {
+		begin();
+		getInteropService().retryCommit(null);
+		commit();
+	}
+
+	public void testRetryReplay() throws Exception {
+		begin();
+		getInteropService().retryReplay(null);
+		commit();
+	}
+
+	public void testPreparedAfterTimeout() throws Exception {
+		begin();
+		getInteropService().preparedAfterTimeout(null);
+		commit();
+	}
+
+	public void testLostCommitted() throws Exception {
+		begin();
+		getInteropService().lostCommitted(null);
+		commit();
+	}
+
+	public static void main(String[] args) throws Exception {
+		new InitiatorApp().testPreparedAfterTimeout();
+	}
+
+	EndpointReference cps;
+
+	CoordinationContext ctx;
+
+	public void begin() throws Exception {
+		ActivationStub stub = new ActivationStub(new EndpointReference(
+				"http://localhost:8081/axis/services/Activation"));
+		ctx = stub.createCoordinationContext(ATCoordinator.COORDINATION_TYPE_ID);
+		cps = ctx.register(ATCoordinator.PROTOCOL_ID_COMPLETION,
+			new EndpointReference(
+					"http://localhost:8081/axis/services/CompletionInitiator"));
+		SetCoordCtxHandler.setCtx(ctx);
+	}
+
+	public void commit() throws Exception {
+		SetCoordCtxHandler.setCtx(null);
+		new CompletionCoordinatorStub(cps).commitOperation(null);
+	}
+
+	public void rollback() throws Exception {
+		SetCoordCtxHandler.setCtx(null);
+		new CompletionCoordinatorStub(cps).rollbackOperation(null);
+	}
+}
\ No newline at end of file

Added: webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InteropServiceSoapBindingImpl.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InteropServiceSoapBindingImpl.java?rev=365405&view=auto
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InteropServiceSoapBindingImpl.java (added)
+++ webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/InteropServiceSoapBindingImpl.java Mon Jan  2 11:21:39 2006
@@ -0,0 +1,326 @@
+
+import java.rmi.RemoteException;
+
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+
+import org.apache.axis.message.addressing.EndpointReference;
+import org.apache.axis.types.URI.MalformedURIException;
+import org.apache.ws.transaction.coordinator.at.AT2PCStatus;
+import org.apache.ws.transaction.coordinator.at.AbstractParticipant;
+import org.apache.ws.transaction.coordinator.at.TransactionImpl;
+import org.apache.ws.transaction.coordinator.at.TransactionManagerImpl;
+
+/**
+ * InteropServiceSoapBindingImpl.java
+ *  
+ */
+
+public class InteropServiceSoapBindingImpl implements InteropService_PortType {
+
+	TransactionManagerImpl tm = TransactionManagerImpl.getInstance();
+
+	public java.lang.String commit(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		tm.getTransaction().enlistParticipant(true, new XA_OKParticipant());
+
+		return null;
+	}
+
+	public java.lang.String rollback(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		tm.getTransaction().enlistParticipant(true, new XA_OKParticipant());
+
+		return null;
+	}
+
+	private class XA_OKParticipant extends AbstractParticipant {
+		int status = AT2PCStatus.ACTIVE;
+
+		protected int prepare() throws XAException {
+			status = AT2PCStatus.PREPARED;
+			return XAResource.XA_OK;
+		}
+
+		protected void commit() throws XAException {
+			if (status == AT2PCStatus.PREPARED)
+				status = AT2PCStatus.NONE;
+			else
+				throw new XAException();
+		}
+
+		protected void rollback() throws XAException {
+			if (status == AT2PCStatus.ACTIVE || status == AT2PCStatus.PREPARED)
+				status = AT2PCStatus.NONE;
+			else
+				throw new XAException();
+		}
+
+		protected void forget() {
+			status = AT2PCStatus.NONE;
+		}
+
+		protected int getStatus() {
+			return status;
+		}
+	}
+
+	private class XAExceptionParticipant extends XA_OKParticipant {
+
+		protected int prepare() throws XAException {
+			throw new XAException();
+		}
+	}
+
+	public java.lang.String phase2Rollback(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		TransactionImpl tx = tm.getTransaction();
+
+		tx.enlistParticipant(false, new XA_OKParticipant());
+		tx.enlistParticipant(true, new XAExceptionParticipant());
+
+		return null;
+	}
+
+	private class ReadonlyParticipant extends XA_OKParticipant {
+
+		protected int prepare() throws XAException {
+			return XAResource.XA_RDONLY;
+		}
+	}
+
+	public java.lang.String readonly(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		TransactionImpl tx = tm.getTransaction();
+
+		tx.enlistParticipant(true, new ReadonlyParticipant());
+		tx.enlistParticipant(true, new XA_OKParticipant());
+
+		return null;
+	}
+
+	public java.lang.String volatileAndDurable(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		final TransactionImpl tx = tm.getTransaction();
+
+		tx.enlistParticipant(false, new XA_OKParticipant() {
+
+			protected int prepare() throws XAException {
+				try {
+
+					tx.enlistParticipant(true, new XA_OKParticipant());
+
+				} catch (RemoteException e) {
+					e.printStackTrace();
+					throw new RuntimeException(e);
+				}
+
+				return XAResource.XA_RDONLY;
+			}
+
+		});
+
+		return null;
+	}
+
+	private class NotificationSenderParticipant extends XA_OKParticipant {
+
+		public void sendReadonly() throws RemoteException {
+			getCoordinator().readOnlyOperation(null);
+			status = AT2PCStatus.NONE;
+		}
+
+		public void sendAborted() throws RemoteException {
+			getCoordinator().abortedOperation(null);
+			status = AT2PCStatus.NONE;
+		}
+
+	}
+
+	public java.lang.String earlyReadonly(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		TransactionImpl tx = tm.getTransaction();
+
+		NotificationSenderParticipant foo = new NotificationSenderParticipant();
+		tx.enlistParticipant(false, foo);
+		tx.enlistParticipant(true, new XA_OKParticipant());
+		foo.sendReadonly();
+
+		return null;
+	}
+
+	public java.lang.String earlyAborted(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		TransactionImpl tx = tm.getTransaction();
+
+		NotificationSenderParticipant foo = new NotificationSenderParticipant();
+		tx.enlistParticipant(false, foo);
+		tx.enlistParticipant(true, new XA_OKParticipant());
+		foo.sendAborted();
+
+		return null;
+	}
+
+	public java.lang.String replayAbort(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		tm.getTransaction().enlistParticipant(true, new XA_OKParticipant() {
+			protected int prepare() throws XAException {
+
+				try {
+					getCoordinator().replayOperation(null);
+				} catch (RemoteException e) {
+					e.printStackTrace();
+					throw new RuntimeException(e);
+				}
+
+				return XAResource.XA_OK;
+
+			}
+		});
+
+		return null;
+	}
+
+	public java.lang.String replayCommit(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		tm.getTransaction().enlistParticipant(true, new XA_OKParticipant() {
+			protected void commit() throws XAException {
+
+				try {
+					getCoordinator().replayOperation(null);
+				} catch (RemoteException e) {
+					e.printStackTrace();
+					throw new RuntimeException(e);
+				}
+			}
+		});
+
+		return null;
+	}
+
+	public java.lang.String retryPreparedCommit(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		tm.getTransaction().enlistParticipant(true, new XA_OKParticipant());
+
+		return null;
+	}
+
+	public java.lang.String retryPreparedAbort(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		tm.getTransaction().enlistParticipant(true, new XA_OKParticipant());
+
+		return null;
+	}
+
+	public java.lang.String retryCommit(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		tm.getTransaction().enlistParticipant(true, new XA_OKParticipant());
+
+		return null;
+	}
+
+	public java.lang.String retryReplay(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		tm.getTransaction().enlistParticipant(true, new XA_OKParticipant());
+
+		return null;
+	}
+
+	public java.lang.String preparedAfterTimeout(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		TransactionImpl tx = tm.getTransaction();
+
+		tx.enlistParticipant(false, new XA_OKParticipant());
+		tx.enlistParticipant(true, new XA_OKParticipant());
+
+		return null;
+	}
+
+	public java.lang.String lostCommitted(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		tm.getTransaction().enlistParticipant(true, new XA_OKParticipant());
+
+		return null;
+	}
+
+	public java.lang.String participantClosed(java.lang.String part)
+			throws java.rmi.RemoteException {
+		return null;
+	}
+
+	public java.lang.String participantCompensated(java.lang.String part)
+			throws java.rmi.RemoteException {
+		return null;
+	}
+
+	public java.lang.String participantCanceled(java.lang.String part)
+			throws java.rmi.RemoteException {
+		return null;
+	}
+
+	public java.lang.String participantExit(java.lang.String part)
+			throws java.rmi.RemoteException {
+		return null;
+	}
+
+	public java.lang.String participantFault(java.lang.String part)
+			throws java.rmi.RemoteException {
+		return null;
+	}
+
+	public java.lang.String participantCompensationFault(java.lang.String part)
+			throws java.rmi.RemoteException {
+		return null;
+	}
+
+	public java.lang.String completionCommit(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		try {
+			tm.begin(new EndpointReference(part));
+		} catch (MalformedURIException e) {
+			e.printStackTrace();
+			throw new RemoteException(e.getMessage());
+		}
+
+		tm.commit();
+
+		return null;
+	}
+
+	public java.lang.String completionRollback(java.lang.String part)
+			throws java.rmi.RemoteException {
+
+		try {
+			tm.begin(new EndpointReference(part));
+		} catch (MalformedURIException e) {
+			e.printStackTrace();
+			throw new RemoteException(e.getMessage());
+		}
+
+		tm.rollback();
+
+		return null;
+	}
+
+	public java.lang.String invalidProtocol(java.lang.String part)
+			throws java.rmi.RemoteException {
+		return null;
+	}
+
+}
\ No newline at end of file

Added: webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/ManInTheMiddle.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/ManInTheMiddle.java?rev=365405&view=auto
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/ManInTheMiddle.java (added)
+++ webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/ManInTheMiddle.java Mon Jan  2 11:21:39 2006
@@ -0,0 +1,362 @@
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.ServerSocket;
+import java.net.Socket;
+
+/*
+ * Created on Dec 21, 2005
+ *
+ */
+
+/**
+ * @author Dasarath Weeratunge
+ *  
+ */
+public class ManInTheMiddle {
+
+	public static interface TestOrchestrator {
+
+		boolean onPrepareMsg(String msg);
+
+		boolean onPreparedMsg(String msg);
+
+		boolean onCommitMsg(String msg);
+
+		boolean onCommittedMsg(String msg);
+
+		boolean onRollbackMsg(String msg);
+
+		boolean onAbortedMsg(String msg);
+
+		boolean onReplayMsg(String msg);
+
+	}
+
+	public static class TestOrchestratorImpl implements TestOrchestrator {
+
+		protected int stage = 0;
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see ManInTheMiddle.TestOrchestrator#onPrepareMsg(java.lang.String)
+		 */
+		public synchronized boolean onPrepareMsg(String msg) {
+			// TODO Auto-generated method stub
+			return false;
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see ManInTheMiddle.TestOrchestrator#onPreparedMsg(java.lang.String)
+		 */
+		public synchronized boolean onPreparedMsg(String msg) {
+			// TODO Auto-generated method stub
+			return false;
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see ManInTheMiddle.TestOrchestrator#onCommitMsg(java.lang.String)
+		 */
+		public synchronized boolean onCommitMsg(String msg) {
+			// TODO Auto-generated method stub
+			return false;
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see ManInTheMiddle.TestOrchestrator#onCommittedMsg(java.lang.String)
+		 */
+		public synchronized boolean onCommittedMsg(String msg) {
+			// TODO Auto-generated method stub
+			return false;
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see ManInTheMiddle.TestOrchestrator#onRollbackMsg(java.lang.String)
+		 */
+		public synchronized boolean onRollbackMsg(String msg) {
+			// TODO Auto-generated method stub
+			return false;
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see ManInTheMiddle.TestOrchestrator#onAbortedMsg(java.lang.String)
+		 */
+		public synchronized boolean onAbortedMsg(String msg) {
+			// TODO Auto-generated method stub
+			return false;
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see ManInTheMiddle.TestOrchestrator#onReplayMsg(java.lang.String)
+		 */
+		public synchronized boolean onReplayMsg(String msg) {
+			// TODO Auto-generated method stub
+			return false;
+		}
+
+	}
+
+	public static class RetryPreparedCommitTestOrchestratorImpl extends
+			TestOrchestratorImpl {
+
+		public synchronized boolean onPrepareMsg(String msg) {
+			if (stage == 0) {
+				stage = 5;
+				return false;
+			}
+			return true;
+		}
+
+		public synchronized boolean onPreparedMsg(String msg) {
+			if (stage == 5) {
+				stage = 6;
+				return true;
+			} else
+				return stage < 6;
+		}
+	}
+
+	public static class RetryPreparedAbortTestOrchestratorImpl extends
+			RetryPreparedCommitTestOrchestratorImpl {
+
+		public synchronized boolean onPreparedMsg(String msg) {
+			if (stage == 6)
+				stage = 8;
+			return stage < 6;
+		}
+
+		public synchronized boolean onRollbackMsg(String msg) {
+			if (stage == 5) {
+				stage = 6;
+				return true;
+			}
+			return !(stage > 7);
+		}
+	}
+
+	public static class PreparedAfterTimeoutTestOrchestratorImpl extends
+			TestOrchestratorImpl {
+
+		public synchronized boolean onPrepareMsg(String msg) {
+			if (stage == 0) {
+				stage = 6;
+				return false;
+			} else if (stage == 7) {
+				stage = 8;
+				return false;
+			}
+			return true;
+		}
+
+		public synchronized boolean onPreparedMsg(String msg) {
+			if (stage == 6) {
+				stage = 7;
+				return false;
+			}
+			// TODO:
+			// requires further verification using a TCP sniffer since the
+			// 2 Prepared messages may not be received before the 3rd Rollback is issued.
+			return !(stage > 10);
+		}
+
+		public synchronized boolean onRollbackMsg(String msg) {
+			if (stage == 8) {
+				stage = 10;
+				return true;
+			} else if (stage == 10) {
+				stage = 11;
+				return true;
+			}
+			return false;
+		}
+	}
+
+	public static class RetryCommitTestOrchestratorImpl extends
+			TestOrchestratorImpl {
+
+		public synchronized boolean onPreparedMsg(String msg) {
+			if (stage == 0) {
+				stage = 6;
+				return false;
+			}
+			return stage >= 6;
+		}
+
+		public synchronized boolean onCommitMsg(String msg) {
+			if (stage == 6) {
+				stage = 7;
+				return true;
+			}
+			return false;
+		}
+	}
+
+	public static class LostCommittedTestOrchestratorImpl extends
+			TestOrchestratorImpl {
+
+		public synchronized boolean onCommittedMsg(String msg) {
+			return true;
+		}
+
+	}
+
+	public static class ReplayAbortTestOrchestratorImpl extends
+			RetryPreparedCommitTestOrchestratorImpl {
+
+		public synchronized boolean onPreparedMsg(String msg) {
+			return true;
+		}
+
+	}
+
+	public static class ReplayCommitTestOrchestratorImpl extends
+			TestOrchestratorImpl {
+
+		public synchronized boolean onCommittedMsg(String msg) {
+			return stage != 5;
+		}
+
+		public synchronized boolean onReplayMsg(String msg) {
+			stage = 5;
+			return false;
+		}
+	}
+
+	/**
+	 * @param testOrchestrator
+	 */
+	public ManInTheMiddle(TestOrchestrator testOrchestrator) {
+		this.testOrchestrator = testOrchestrator;
+	}
+
+	private TestOrchestrator testOrchestrator;
+
+	private boolean dropMsg(String msg) {
+		if (msg.indexOf("http://schemas.xmlsoap.org/ws/2004/10/wsat/Prepare\"") != -1)
+			return testOrchestrator.onPrepareMsg(msg);
+
+		if (msg.indexOf("http://schemas.xmlsoap.org/ws/2004/10/wsat/Prepared") != -1)
+			return testOrchestrator.onPreparedMsg(msg);
+
+		if (msg.indexOf("http://schemas.xmlsoap.org/ws/2004/10/wsat/Aborted") != -1)
+			return testOrchestrator.onAbortedMsg(msg);
+
+		if (msg.indexOf("http://schemas.xmlsoap.org/ws/2004/10/wsat/Rollback") != -1)
+			return testOrchestrator.onRollbackMsg(msg);
+
+		if (msg.indexOf("http://schemas.xmlsoap.org/ws/2004/10/wsat/Commit\"") != -1)
+			return testOrchestrator.onCommitMsg(msg);
+
+		if (msg.indexOf("http://schemas.xmlsoap.org/ws/2004/10/wsat/Committed") != -1)
+			return testOrchestrator.onCommittedMsg(msg);
+
+		if (msg.indexOf("http://schemas.xmlsoap.org/ws/2004/10/wsat/Replay") != -1)
+			return testOrchestrator.onReplayMsg(msg);
+
+		return false;
+	}
+
+	private void forward(final int srcPort, final int destPort)
+			throws IOException {
+
+		new Thread() {
+			public void run() {
+
+				ServerSocket s;
+
+				try {
+					s = new ServerSocket(srcPort);
+				} catch (IOException e) {
+					e.printStackTrace();
+					throw new RuntimeException(e);
+				}
+
+				while (true) {
+
+					final Socket inS;
+
+					try {
+						inS = s.accept();
+					} catch (IOException e) {
+						e.printStackTrace();
+						throw new RuntimeException(e);
+					}
+
+					new Thread() {
+						public void run() {
+							int n;
+							byte buf1[] = new byte[1024];
+							ByteArrayOutputStream buf2 = new ByteArrayOutputStream();
+
+							try {
+
+								buf2.reset();
+								InputStream is = inS.getInputStream();
+								while (buf2.toString().indexOf(
+									"</soapenv:Envelope>") == -1
+										&& (n = is.read(buf1)) > 0) {
+									buf2.write(buf1, 0, n);
+								}
+
+								if (dropMsg(buf2.toString())) {
+									System.out.println();
+									System.out.println(buf2.toString());
+
+									inS.close();
+									return;
+								}
+
+								Socket outS = new Socket("127.0.0.1", destPort);
+
+								OutputStream os = outS.getOutputStream();
+								os.write(buf2.toByteArray());
+
+								is = outS.getInputStream();
+								buf2.reset();
+								while (buf2.toString().indexOf(
+									"</soapenv:Envelope>") == -1
+										&& (n = is.read(buf1)) > 0)
+									buf2.write(buf1, 0, n);
+
+								os = inS.getOutputStream();
+								os.write(buf2.toByteArray());
+
+								inS.close();
+								outS.close();
+
+							} catch (Exception e) {
+								e.printStackTrace();
+								throw new RuntimeException(e);
+							}
+						}
+					}.start();
+				}
+			}
+		}.start();
+	}
+
+	public static void main(String[] args) throws Exception {
+
+		ManInTheMiddle middleMan = new ManInTheMiddle(
+				new ManInTheMiddle.PreparedAfterTimeoutTestOrchestratorImpl());
+		middleMan.forward(8081, 8083);
+		//	middleMan.forward(8082, 8084);
+
+	}
+
+}
\ No newline at end of file

Added: webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/SetCoordCtxHandler.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/SetCoordCtxHandler.java?rev=365405&view=auto
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/SetCoordCtxHandler.java (added)
+++ webservices/kandula/branches/Kandula_1/src/samples/interopibm/src/SetCoordCtxHandler.java Mon Jan  2 11:21:39 2006
@@ -0,0 +1,45 @@
+/*
+ * Copyright  2004 The Apache Software Foundation.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+import javax.xml.soap.SOAPHeader;
+
+import org.apache.axis.AxisFault;
+import org.apache.axis.MessageContext;
+import org.apache.axis.handlers.BasicHandler;
+import org.apache.ws.transaction.coordinator.CoordinationContext;
+
+/**
+ * @author Dasarath Weeratunge
+ */
+public class SetCoordCtxHandler extends BasicHandler {
+	private static CoordinationContext ctx;
+
+	public static void setCtx(CoordinationContext ctx) {
+		SetCoordCtxHandler.ctx = ctx;
+	}
+
+	public void invoke(MessageContext msgContext) throws AxisFault {
+		if (ctx != null) {
+			try {
+				SOAPHeader header = msgContext.getCurrentMessage().getSOAPEnvelope().getHeader();
+				ctx.toSOAPHeaderElement(header);
+			} catch (Exception e) {
+				throw AxisFault.makeFault(e);
+			}
+		}
+	}
+}
\ No newline at end of file



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