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