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/07 06:34:20 UTC
svn commit: r366672 - in
/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator:
ActivationStub.java CoordinationContext.java CoordinatorImpl.java
RegistrationImpl.java
Author: dasarath
Date: Fri Jan 6 21:34:18 2006
New Revision: 366672
URL: http://svn.apache.org/viewcvs?rev=366672&view=rev
Log: (empty)
Modified:
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/ActivationStub.java
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationContext.java
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinatorImpl.java
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationImpl.java
Modified: webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/ActivationStub.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/ActivationStub.java?rev=366672&r1=366671&r2=366672&view=diff
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/ActivationStub.java (original)
+++ webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/ActivationStub.java Fri Jan 6 21:34:18 2006
@@ -24,6 +24,7 @@
import org.apache.axis.message.addressing.EndpointReference;
import org.apache.axis.types.URI;
import org.apache.axis.types.URI.MalformedURIException;
+import org.apache.ws.transaction.utility.AddressingHeaders;
import org.apache.ws.transaction.utility.Service;
import org.apache.ws.transaction.utility.TCPSnifferHelper;
import org.apache.ws.transaction.wscoor.ActivationPortTypeRPCBindingStub;
@@ -40,7 +41,9 @@
public ActivationStub(EndpointReference epr) throws AxisFault,
MalformedURLException {
super(new URL(TCPSnifferHelper.redirect(epr.getAddress().toString())),
- new Service(epr));
+ new Service());
+ AddressingHeaders headers = new AddressingHeaders(epr, null);
+ ((Service) service).setAddressingHeaders(headers);
}
public CoordinationContext createCoordinationContext(String coordinationType)
Modified: webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationContext.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationContext.java?rev=366672&r1=366671&r2=366672&view=diff
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationContext.java (original)
+++ webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationContext.java Fri Jan 6 21:34:18 2006
@@ -136,4 +136,5 @@
throw new RuntimeException(e);
}
}
+
}
Modified: webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinatorImpl.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinatorImpl.java?rev=366672&r1=366671&r2=366672&view=diff
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinatorImpl.java (original)
+++ webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinatorImpl.java Fri Jan 6 21:34:18 2006
@@ -4,13 +4,20 @@
*/
package org.apache.ws.transaction.coordinator;
+import java.net.MalformedURLException;
import java.rmi.RemoteException;
+import javax.xml.rpc.ServiceException;
+
import org.apache.axis.AxisFault;
+import org.apache.axis.MessageContext;
import org.apache.axis.components.uuid.UUIDGen;
import org.apache.axis.components.uuid.UUIDGenFactory;
+import org.apache.axis.message.addressing.AddressingHeaders;
+import org.apache.axis.message.addressing.Constants;
import org.apache.axis.message.addressing.EndpointReference;
import org.apache.axis.types.URI.MalformedURIException;
+import org.apache.ws.transaction.utility.SoapFaultSender;
import org.apache.ws.transaction.wscoor.RegisterResponseType;
import org.apache.ws.transaction.wscoor.RegisterType;
@@ -19,16 +26,17 @@
*
*/
public abstract class CoordinatorImpl implements Coordinator {
+
private String id;
-
+
private CoordinationContext ctx;
- public CoordinatorImpl(String coordinationType)
+ protected CoordinatorImpl(String coordinationType)
throws MalformedURIException {
UUIDGen gen = UUIDGenFactory.getUUIDGen();
id = "uuid:" + gen.nextUUID();
CoordinationService cs = CoordinationService.getInstance();
- EndpointReference epr = cs.getRegistrationService(this);
+ EndpointReference epr = cs.getRegistrationCoordinatorService(this);
ctx = new CoordinationContext(id, coordinationType, epr);
}
@@ -41,16 +49,58 @@
}
public abstract EndpointReference register(String prot,
- EndpointReference pps) throws AxisFault;
+ EndpointReference pps) throws InvalidCoordinationProtocolException;
public synchronized RegisterResponseType registerOperation(
RegisterType params) throws RemoteException {
+
EndpointReference epr = null;
- epr = register(params.getProtocolIdentifier().toString(),
- new EndpointReference(params.getParticipantProtocolService()));
+ try {
+ epr = register(params.getProtocolIdentifier().toString(),
+ new EndpointReference(params.getParticipantProtocolService()));
+
+ } catch (InvalidCoordinationProtocolException e) {
+ throw INVALID_PROTOCOL_SOAP_FAULT;
+
+ } catch (IllegalStateException e) {
+ throw INVALID_STATE_SOAP_FAULT;
+
+ } catch (IllegalArgumentException e) {
+ throw INVALID_PARAMETERS_SOAP_FAULT;
+ }
+
RegisterResponseType r = new RegisterResponseType();
r.setCoordinatorProtocolService(epr);
return r;
+ }
+
+ protected AddressingHeaders getAddressingHeaders() {
+ return (AddressingHeaders) MessageContext.getCurrentContext().getProperty(
+ Constants.ENV_ADDRESSING_REQUEST_HEADERS);
+ }
+
+ protected EndpointReference getReplyToEpr() {
+ AddressingHeaders headers = getAddressingHeaders();
+ return headers.getReplyTo();
+ }
+
+ protected EndpointReference getFaultToEpr() {
+ AddressingHeaders headers = getAddressingHeaders();
+ return headers.getFaultTo();
+ }
+
+ protected void throwFault(EndpointReference faultTo, AxisFault fault)
+ throws AxisFault {
+ try {
+ SoapFaultSender.invoke(faultTo,
+ fault.getFaultCode().getNamespaceURI() + "/fault", fault);
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ throw new IllegalArgumentException();
+ } catch (ServiceException e) {
+ e.printStackTrace();
+ throw new RuntimeException(e);
+ }
}
}
Modified: webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationImpl.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationImpl.java?rev=366672&r1=366671&r2=366672&view=diff
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationImpl.java (original)
+++ webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationImpl.java Fri Jan 6 21:34:18 2006
@@ -18,7 +18,6 @@
import java.rmi.RemoteException;
-import org.apache.ws.transaction.utility.CallbackRegistry;
import org.apache.ws.transaction.wscoor.RegisterResponseType;
import org.apache.ws.transaction.wscoor.RegisterType;
import org.apache.ws.transaction.wscoor.RegistrationPortTypeRPC;
@@ -28,7 +27,7 @@
public RegisterResponseType registerOperation(RegisterType params)
throws RemoteException {
Coordinator c = (Coordinator) CallbackRegistry.getInstance().correlateMessage(
- CallbackRegistry.COORDINATOR_REF, false);
+ CallbackRegistry.CALLBACK_REF, false);
return c.registerOperation(params);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: kandula-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: kandula-dev-help@ws.apache.org