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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]