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:36:51 UTC
svn commit: r366675 - in
/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility:
AddressingHeaders.java Callback.java CallbackRegistry.java
EndpointReferenceFactory.java Service.java SoapFaultSender.java
Author: dasarath
Date: Fri Jan 6 21:36:49 2006
New Revision: 366675
URL: http://svn.apache.org/viewcvs?rev=366675&view=rev
Log: (empty)
Added:
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/AddressingHeaders.java
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/SoapFaultSender.java
Removed:
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/Callback.java
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/CallbackRegistry.java
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/EndpointReferenceFactory.java
Modified:
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/Service.java
Added: webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/AddressingHeaders.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/AddressingHeaders.java?rev=366675&view=auto
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/AddressingHeaders.java (added)
+++ webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/AddressingHeaders.java Fri Jan 6 21:36:49 2006
@@ -0,0 +1,51 @@
+/*
+ * Created on Jan 6, 2006
+ *
+ */
+package org.apache.ws.transaction.utility;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.axis.components.uuid.UUIDGenFactory;
+import org.apache.axis.message.addressing.EndpointReference;
+import org.apache.axis.message.addressing.MessageID;
+import org.apache.axis.message.addressing.RelatesTo;
+import org.apache.axis.message.addressing.RelationshipTypeValues;
+import org.apache.axis.types.URI;
+import org.apache.axis.types.URI.MalformedURIException;
+
+/**
+ * @author Dasarath Weeratunge
+ *
+ */
+public class AddressingHeaders extends
+ org.apache.axis.message.addressing.AddressingHeaders {
+
+ public AddressingHeaders(EndpointReference to, EndpointReference from) {
+ super(to);
+ MessageID id;
+ try {
+ id = new MessageID(new URI("uuid:"
+ + UUIDGenFactory.getUUIDGen().nextUUID()));
+ } catch (MalformedURIException e) {
+ e.printStackTrace();
+ throw new RuntimeException(e);
+ }
+ setMessageID(id);
+ if (from != null)
+ setFrom(from);
+ }
+
+ public AddressingHeaders(EndpointReference to, EndpointReference from,
+ EndpointReference replyTo) {
+ this(to, from);
+ setReplyTo(replyTo);
+ }
+
+ public void setRelatesTo(MessageID id) {
+ List l = new ArrayList(1);
+ l.add(new RelatesTo(id, RelationshipTypeValues.RESPONSE));
+ setRelatesTo(l);
+ }
+}
\ No newline at end of file
Modified: webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/Service.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/Service.java?rev=366675&r1=366674&r2=366675&view=diff
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/Service.java (original)
+++ webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/Service.java Fri Jan 6 21:36:49 2006
@@ -16,64 +16,68 @@
*/
package org.apache.ws.transaction.utility;
-import java.util.ArrayList;
-import java.util.List;
-
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import javax.xml.rpc.ServiceException;
-import org.apache.axis.components.uuid.UUIDGenFactory;
-import org.apache.axis.message.MessageElement;
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.message.addressing.MessageID;
-import org.apache.axis.message.addressing.RelatesTo;
-import org.apache.axis.message.addressing.RelationshipTypeValues;
-import org.apache.axis.types.URI;
-import org.apache.axis.types.URI.MalformedURIException;
public class Service extends org.apache.axis.client.Service {
AddressingHeaders headers;
- Object callback;
+ // Callback callback;
- public Service(EndpointReference epr) {
- headers = new AddressingHeaders(epr);
- }
-
- public Service(EndpointReference epr, EndpointReference replyTo) {
- headers = new AddressingHeaders(epr);
- headers.setReplyTo(replyTo);
- }
-
- public void setCallback(Object callback) {
- this.callback = callback;
+ public Service() {
}
-
- public void setRelatesTo(MessageID id){
- List l = new ArrayList(1);
- l.add(new RelatesTo(id, RelationshipTypeValues.RESPONSE));
- headers.setRelatesTo(l);
+
+ // public Service(EndpointReference to) {
+ // headers = new AddressingHeaders(to);
+ // }
+ //
+ // public Service(EndpointReference to, Callback callback) {
+ // headers = new AddressingHeaders(to);
+ // setCallback(callback);
+ // }
+ //
+ // public Service(EndpointReference to, EndpointReference replyTo,
+ // Callback callback) {
+ // headers = new AddressingHeaders(to);
+ // headers.setReplyTo(replyTo);
+ // }
+ //
+ // public void setCallback(Callback callback) {
+ // this.callback = callback;
+ // CoordinationService cs = CoordinationService.getInstance();
+ // headers.setFaultTo(cs.getFaultDispatcherService(callback));
+ // }
+ //
+ // public void setRelatesTo(MessageID id) {
+ // List l = new ArrayList(1);
+ // l.add(new RelatesTo(id, RelationshipTypeValues.RESPONSE));
+ // headers.setRelatesTo(l);
+ // }
+
+ public void setAddressingHeaders(AddressingHeaders headers) {
+ this.headers = headers;
}
-
+
public Call createCall() throws ServiceException {
Call call = super.createCall();
- if (callback != null) {
- try {
- MessageID id = new MessageID(new URI("uuid:"
- + UUIDGenFactory.getUUIDGen().nextUUID()));
- headers.setMessageID(id);
- String ref = id.toString();
- CallbackRegistry.getInstance().registerCallback(ref, callback);
- MessageElement e = new MessageElement(
- CallbackRegistry.CALLBACK_REF, ref);
- headers.getReplyTo().getProperties().add(e);
- } catch (MalformedURIException e) {
- throw new ServiceException(e.getMessage());
- }
- }
+ // if (callback != null) {
+ // try {
+ // MessageID id = new MessageID(new URI("uuid:"
+ // + UUIDGenFactory.getUUIDGen().nextUUID()));
+ // headers.setMessageID(id);
+ // String ref = id.toString();
+ // CallbackRegistry.getInstance().registerCallback(ref, callback);
+ // MessageElement e = new MessageElement(
+ // CallbackRegistry.CALLBACK_REF, ref);
+ // headers.getReplyTo().getProperties().add(e);
+ // } catch (MalformedURIException e) {
+ // throw new ServiceException(e.getMessage());
+ // }
+ // }
call.setProperty(Constants.ENV_ADDRESSING_REQUEST_HEADERS, headers);
return call;
}
Added: webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/SoapFaultSender.java
URL: http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/SoapFaultSender.java?rev=366675&view=auto
==============================================================================
--- webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/SoapFaultSender.java (added)
+++ webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/utility/SoapFaultSender.java Fri Jan 6 21:36:49 2006
@@ -0,0 +1,60 @@
+/*
+ * Created on Jan 3, 2006
+ *
+ */
+package org.apache.ws.transaction.utility;
+
+import java.net.MalformedURLException;
+
+import javax.xml.rpc.ServiceException;
+
+import org.apache.axis.AxisFault;
+import org.apache.axis.MessageContext;
+import org.apache.axis.client.Call;
+import org.apache.axis.message.SOAPEnvelope;
+import org.apache.axis.message.SOAPFault;
+import org.apache.axis.message.addressing.Constants;
+import org.apache.axis.message.addressing.EndpointReference;
+import org.apache.axis.message.addressing.MessageID;
+import org.apache.axis.soap.SOAPConstants;
+
+/**
+ * @author Dasarath Weeratunge
+ *
+ */
+public class SoapFaultSender {
+
+ private static MessageID getCurrentMessageID() {
+ org.apache.axis.message.addressing.AddressingHeaders headers = (org.apache.axis.message.addressing.AddressingHeaders) MessageContext.getCurrentContext().getProperty(
+ Constants.ENV_ADDRESSING_REQUEST_HEADERS);
+ return headers.getMessageID();
+ }
+
+ public static void invoke(EndpointReference faultTo, String action,
+ AxisFault fault) throws AxisFault, MalformedURLException,
+ ServiceException {
+ if (faultTo == null)
+ throw fault;
+
+ AddressingHeaders headers = new AddressingHeaders(faultTo, null);
+ headers.setRelatesTo(getCurrentMessageID());
+ Service service = new Service();
+ service.setAddressingHeaders(headers);
+ Call call = (Call) service.createCall();
+ call.setTargetEndpointAddress(TCPSnifferHelper.redirect(faultTo.getAddress().toString()));
+ call.setSOAPActionURI(action);
+
+ SOAPEnvelope env = new SOAPEnvelope();
+ SOAPFault faultElement = new SOAPFault(fault);
+ env.addBodyElement(faultElement);
+ // FIXME:
+ faultElement.setQName(SOAPConstants.SOAP11_CONSTANTS.getFaultQName());
+ // FIXME:
+ fault.setFaultDetail(null);
+
+ try {
+ call.invoke(env);
+ } catch (Exception 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