You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ch...@apache.org on 2005/10/21 13:26:45 UTC
svn commit: r327157 - in
/webservices/sandesha/trunk/src/org/apache/sandesha2: FaultMgr.java
wsrm/FaultCode.java wsrm/SequenceFault.java
Author: chamikara
Date: Fri Oct 21 04:26:23 2005
New Revision: 327157
URL: http://svn.apache.org/viewcvs?rev=327157&view=rev
Log:
Applied Sanka's patch.
Modified:
webservices/sandesha/trunk/src/org/apache/sandesha2/FaultMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/FaultCode.java
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceFault.java
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/FaultMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/FaultMgr.java?rev=327157&r1=327156&r2=327157&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/FaultMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/FaultMgr.java Fri Oct 21 04:26:23 2005
@@ -1,34 +1,39 @@
package org.apache.sandesha2;
-import org.apache.sandesha2.wsrm.AckRequested;
-import org.apache.sandesha2.wsrm.CreateSequence;
-import org.apache.sandesha2.wsrm.CreateSequenceResponse;
-import org.apache.sandesha2.wsrm.Sequence;
-import org.apache.sandesha2.wsrm.Identifier;
-import org.apache.sandesha2.wsrm.SequenceAcknowledgement;
-import org.apache.sandesha2.wsrm.SequenceFault;
-import org.apache.sandesha2.wsrm.FaultCode;
-import org.apache.sandesha2.wsrm.TerminateSequence;
+import java.math.BigInteger;
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.AddressingConstants;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.om.OMAttribute;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.soap.SOAP11Constants;
+import org.apache.axis2.soap.SOAP12Constants;
+import org.apache.axis2.soap.SOAPBody;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
+import org.apache.axis2.soap.SOAPFault;
+import org.apache.axis2.soap.SOAPFaultCode;
+import org.apache.axis2.soap.SOAPFaultDetail;
+import org.apache.axis2.soap.SOAPFaultReason;
+import org.apache.axis2.soap.SOAPFaultSubCode;
+import org.apache.axis2.soap.SOAPFaultText;
+import org.apache.axis2.soap.SOAPFaultValue;
+import org.apache.axis2.soap.SOAPHeader;
+import org.apache.axis2.soap.impl.llom.SOAPConstants;
+import org.apache.axis2.soap.impl.llom.soap12.SOAP12Factory;
import org.apache.sandesha2.storage.AbstractBeanMgrFactory;
import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.RetransmitterBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.StorageMapBeanMgr;
-import org.apache.sandesha2.storage.beans.RetransmitterBean;
import org.apache.sandesha2.storage.beans.SequencePropertyBean;
-import org.apache.sandesha2.storage.beans.StorageMapBean;
import org.apache.sandesha2.util.SandeshaUtil;
-import org.apache.axis2.soap.*;
-import org.apache.axis2.soap.impl.llom.SOAPConstants;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.om.OMAttribute;
-import org.apache.axis2.om.OMElement;
-import org.apache.axis2.AxisFault;
-
-import javax.xml.namespace.QName;
-import java.math.BigInteger;
-import java.util.Iterator;
+import org.apache.sandesha2.wsrm.FaultCode;
+import org.apache.sandesha2.wsrm.SequenceFault;
/**
* Created by IntelliJ IDEA.
@@ -39,11 +44,8 @@
*/
public class FaultMgr {
- private static final int SEQUENCE_FAULT = 10;
- private static final String WSA_ACTION_FAULT = "http://schemas.xmlsoap.org/ws/2004/08/addressing/fault";
-
- private static final int SEQUENCE_TYPE = 22;
- private static final int NON_SEQUENCE_TYPe = 23;
+ private static final String WSA_ACTION_FAULT
+ = "http://schemas.xmlsoap.org/ws/2004/08/addressing/fault";
public static final int UNKNOWN_SEQUENCE_TYPE = 1;
public static final int MESSAGE_NUMBER_ROLLOVER_TYPE = 2;
@@ -72,13 +74,20 @@
int type;
String code;
String subcode;
- String reason;
+ String reason;
+ OMElement detail;
MessageContext msgCtx;
}
public FaultMgr() {
}
+ /**
+ *
+ * @param msgCtx
+ * @return
+ * @throws SandeshaException
+ */
public RMMsgContext check(MessageContext msgCtx) throws SandeshaException {
int msgType = getMessageType(msgCtx);
@@ -87,22 +96,31 @@
case Constants.MessageTypes.APPLICATION:
/* Sequence*/
- return checkSequence(msgCtx);
+ return checkSequenceMsg(msgCtx);
case Constants.MessageTypes.ACK:
/* SequenceAcknowledgement */
- return checkSequenceAcknowledgement(msgCtx);
-
+ return checkSequenceAcknowledgementMsg(msgCtx);
+ default:
-
-
+ /* TODO check for other message types */
+ return null;
}
- return null;
}
- public RMMsgContext checkSequence(MessageContext msgCtx)
+ /**
+ * Check whether a Sequence message
+ * (a) belongs to a unknown sequence (generates an UnknownSequence fault)
+ * (b) message number exceeds a predifined limit ( genenrates a Message
+ * Number Rollover fault)
+ *
+ * @param msgCtx
+ * @return
+ * @throws SandeshaException
+ */
+ public RMMsgContext checkSequenceMsg(MessageContext msgCtx)
throws SandeshaException {
NextMsgBeanMgr mgr =
@@ -137,37 +155,40 @@
return null;
}
- public RMMsgContext checkSequenceAcknowledgement(MessageContext msgCtx)
+ /**
+ *
+ * @param msgCtx
+ * @return
+ * @throws SandeshaException
+ */
+ public RMMsgContext checkSequenceAcknowledgementMsg(MessageContext msgCtx)
throws SandeshaException {
-
+ NextMsgBeanMgr mgr
+ = AbstractBeanMgrFactory.getInstance(msgCtx).getNextMsgBeanMgr();
+ StorageMapBeanMgr smgr
+ = AbstractBeanMgrFactory.getInstance(msgCtx).getStorageMapBeanMgr();
+ SequencePropertyBeanMgr propertyBeanMgr
+ = AbstractBeanMgrFactory.getInstance(msgCtx).getSequencePropretyBeanMgr();
+
SOAPEnvelope envelope = msgCtx.getEnvelope();
-
+ // this is a SequenceAcknowledgement message
OMElement element = envelope.getFirstChildWithName(
new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.SEQUENCE_ACK));
-
- // this is a SequenceAcknowledgement message
- OMElement identifierPart = element.getFirstChildWithName(
+ OMElement identifier = element.getFirstChildWithName(
new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.IDENTIFIER));
- NextMsgBeanMgr mgr =
- AbstractBeanMgrFactory.getInstance(msgCtx).getNextMsgBeanMgr();
- if (mgr.retrieve(identifierPart.getText()) == null) {
+
+ if (mgr.retrieve(identifier.getText()) == null) {
//throw UnknownSequenceFault
return getFault(FaultMgr.UNKNOWN_SEQUENCE_TYPE, msgCtx);
}
- String identifierString = identifierPart.getText().trim();
- StorageMapBeanMgr smgr =
- AbstractBeanMgrFactory.getInstance(msgCtx).getStorageMapBeanMgr();
- SequencePropertyBeanMgr propertyBeanMgr =
- AbstractBeanMgrFactory.getInstance(msgCtx).getSequencePropretyBeanMgr();
-
+ String identifierString = identifier.getText().trim();
SequencePropertyBean propertyBean =
propertyBeanMgr.retrieve(identifierString,
Constants.SequenceProperties.TEMP_SEQUENCE_ID);
//TODO
String acksString = ""; //propertyBean.getAcksString();
-
String[] msgNumberStrs = acksString.split(",");
//TODO move this to a util class
@@ -223,134 +244,14 @@
}
return null;
}
-
- public RMMsgContext checkSequenceMessage(MessageContext msgCtx)
- throws SandeshaException {
-
- SOAPEnvelope envelope = msgCtx.getEnvelope();
- OMElement element;
-
- element = envelope.getHeader().getFirstChildWithName(
- new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.SEQUENCE));
-
- if (element != null) {
- // this is a Sequence message
- OMElement identifier = element.getFirstChildWithName(
- new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.IDENTIFIER));
-
- String identifierString = identifier.getText().trim();
- NextMsgBeanMgr mgr =
- AbstractBeanMgrFactory.getInstance(msgCtx).getNextMsgBeanMgr();
-
- if (mgr.retrieve(identifierString) == null) {
- // throws new UnknownSequence fault
- return getFault(FaultMgr.UNKNOWN_SEQUENCE_TYPE, msgCtx);
- }
-
- OMElement msgNumber = element.getFirstChildWithName(
- new QName (Constants.WSRM.NS_URI_RM,Constants.WSRM.MSG_NUMBER));
-
- BigInteger bigInteger = new BigInteger(msgNumber.getText().trim());
-
- // throws new MessageNumberRollover fault
- if (bigInteger.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) == 1) {
- return getFault(FaultMgr.MESSAGE_NUMBER_ROLLOVER_TYPE,
- msgCtx);
- }
-
- return null;
- }
-
-
- element = envelope.getHeader().getFirstChildWithName(
- new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.SEQUENCE_ACK));
-
- if (element != null) {
- // this is a SequenceAcknowledgement message
- OMElement identifierPart = element.getFirstChildWithName(
- new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.IDENTIFIER));
- NextMsgBeanMgr mgr =
- AbstractBeanMgrFactory.getInstance(msgCtx).getNextMsgBeanMgr();
- if (mgr.retrieve(identifierPart.getText()) == null) {
- //throw UnknownSequenceFault
- return getFault(FaultMgr.UNKNOWN_SEQUENCE_TYPE, msgCtx);
- }
-
- String identifierString = identifierPart.getText().trim();
- StorageMapBeanMgr smgr =
- AbstractBeanMgrFactory.getInstance(msgCtx).getStorageMapBeanMgr();
- SequencePropertyBeanMgr propertyBeanMgr =
- AbstractBeanMgrFactory.getInstance(msgCtx).getSequencePropretyBeanMgr();
-
- SequencePropertyBean propertyBean =
- propertyBeanMgr.retrieve(identifierString,
- Constants.SequenceProperties.TEMP_SEQUENCE_ID);
-
- //TODO
- String acksString = ""; //propertyBean.getAcksString();
-
- String[] msgNumberStrs = acksString.split(",");
-
- //TODO move this to a util class
- long[] msgNumbers = new long[msgNumberStrs.length];
- for (int i=0; i < msgNumbers.length; i++) {
- msgNumbers[i] = Long.parseLong(msgNumberStrs[i]);
- }
-
- Iterator acks = element.getChildrenWithName(new QName(
- Constants.WSRM.NS_URI_RM, Constants.WSRM.ACK_RANGE));
- while (acks.hasNext()) {
- OMElement ack = (OMElement) acks.next();
-
- OMAttribute lowerAttrib = ack.getAttribute(
- new QName(Constants.WSRM.LOWER));
- long lower = Long.parseLong(lowerAttrib.getAttributeValue());
-
- OMAttribute upperAttrib = ack.getAttribute(
- new QName(Constants.WSRM.UPPER));
- long upper = Long.parseLong(upperAttrib.getAttributeValue());
-
- for (; lower <= upper; lower++) {
- boolean found = false;
- for (int j = 0; j < msgNumbers.length; j++) {
- if (lower == msgNumbers[j]) {
- found = true;
- break;
- }
- }
- if (!found) {
- //TODO throw new InvalidAcknowledgement
- }
- }
- }
-
- Iterator nacks = element.getChildrenWithName(new QName(
- Constants.WSRM.NS_URI_RM, Constants.WSRM.NACK));
-
- while (nacks.hasNext()) {
- OMElement nack = (OMElement) nacks.next();
- long msgNo = Long.parseLong(nack.getText());
-
- boolean found = false;
- for (int j = 0; j < msgNumbers.length; j++) {
- if (msgNo == msgNumbers[j]) {
- found = true;
- break;
- }
- }
- if (!found) {
- //TODO throw new InvalidAcknowledgement
- }
- }
- }
-
- return null;
- }
-
- public RMMsgContext checkInvalidAcknowledge() {
- return null;
- }
+ /**
+ *
+ * @param type
+ * @param msgCtx
+ * @return
+ * @throws SandeshaException
+ */
public RMMsgContext getFault(int type, MessageContext msgCtx)
throws SandeshaException {
@@ -358,44 +259,43 @@
switch (type) {
case FaultMgr.UNKNOWN_SEQUENCE_TYPE:
- data.type = FaultMgr.UNKNOWN_SEQUENCE_TYPE;
data.code = FaultMgr.UNKNOW_SEQUENCE_CODE;
data.subcode = FaultMgr.UNKNOW_SEQUENCE_SUBCODE;
- data.reason = FaultMgr.UNKNOW_SEQUENCE_RESON;
+ data.reason = FaultMgr.UNKNOW_SEQUENCE_RESON;
+ data.msgCtx = msgCtx;
break;
case FaultMgr.MESSAGE_NUMBER_ROLLOVER_TYPE:
- data.type = FaultMgr.MESSAGE_NUMBER_ROLLOVER_TYPE;
data.code = FaultMgr.MESSAGE_NUMBER_ROLLOVER_CODE;
data.subcode = FaultMgr.MESSAGE_NUMBER_ROLLOVER_SUBCODE;
data.reason = FaultMgr.MESSAGE_NUMBER_ROLLOVER_REASON;
+ data.msgCtx = msgCtx;
break;
case FaultMgr.INVALID_ACKNOWLEDGEMENT_TYPE:
- data.type = FaultMgr.INVALID_ACKNOWLEDGEMENT_TYPE;
data.code = FaultMgr.INVALID_ACKNOWLEDGEMENT_CODE;
data.subcode = FaultMgr.INVALID_ACKNOWLEDGEMENT_SUBCODE;
data.reason = FaultMgr.INVALID_ACKNOWLEDGEMENT_REASON;
+ data.msgCtx = msgCtx;
break;
}
+ data.type = getMessageType(msgCtx);
+
MessageContext newMsgCtx = SandeshaUtil.shallowCopy(msgCtx);
-// newMsgCtx.setServiceGroupContextId(msgCtx.getServiceGroupContextId());
-// newMsgCtx.setServiceContext(msgCtx.getServiceContext());
+ newMsgCtx.setServiceGroupContextId(msgCtx.getServiceGroupContextId());
+ newMsgCtx.setServiceContext(msgCtx.getServiceContext());
RMMsgContext newRMMsgCtx = new RMMsgContext(newMsgCtx);
SequenceFault seqFault = new SequenceFault();
- //seqFault.setSubcode(data.subcode);
- //seqFault.setReason(data.reason);
-
FaultCode faultCode = new FaultCode();
- //faultCode.setFault(data.code);
+ faultCode.setFaultCode(data.code);
seqFault.setFaultCode(faultCode);
- //TODO is it SEQUENCE_FAULT or just FAULT
- //newRMMsgCtx.setMessagePart(SEQUENCE_FAULT, seqFault);
+ //TODO
+ //newRMMsgCtx.setMessagePart(Constants.MessageParts.SEQUENCE_FAULT, seqFault);
- SOAPEnvelope inMsgEnvelope = msgCtx.getEnvelope();
+ String str = msgCtx.getEnvelope().getNamespace().getName();
if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(
msgCtx.getEnvelope().getNamespace().getName())) {
@@ -412,102 +312,158 @@
return newRMMsgCtx;
}
-
- public void doSOAP12Encoding(FaultData data, MessageContext msgCtx) {
- msgCtx.setProperty(AddressingConstants.WSA_ACTION, WSA_ACTION_FAULT);
+ /**
+ *
+ * @param data
+ * @param msgCtx
+ * @throws SandeshaException
+ */
+ public void doSOAP11Encoding(FaultData data, MessageContext msgCtx)
+ throws SandeshaException {
+
+
+ SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(Constants.SOAPVersion.v1_1);
+ SOAPEnvelope faultMsgEnvelope = factory.getDefaultFaultEnvelope();
+ SOAPFault fault;
+ SOAPFaultCode faultCode;
+ SOAPFaultReason faultReason;
+ SOAPFaultText faultText;
+
+ switch (data.type) {
+ case Constants.MessageTypes.CREATE_SEQ:
+
+ /* CreateSequence */
+ fault = faultMsgEnvelope.getBody().getFault();
+ faultCode = fault.getCode();
+ faultCode.getValue().setText(data.subcode);
+
+ faultReason = fault.getReason();
+ faultReason.getSOAPText().setText(data.reason);
+ // TODO
+ OMNamespace namespace =
+ factory.createOMNamespace(
+ SOAP11Constants.XMLNS_URI,
+ SOAP11Constants.XMLNS_PREFIX);
+ faultReason.getSOAPText().addAttribute("lang", "en", namespace);
+ break;
+
+ default:
+
+ /* */
+ fault = faultMsgEnvelope.getBody().getFault();
+ faultCode = fault.getCode();
+ faultCode.getValue().setText(data.code);
+
+ faultReason = fault.getReason();
+ faultReason.getSOAPText().setText(data.reason);
+ break;
+ }
+
+ try {
+ msgCtx.setEnvelope(faultMsgEnvelope);
+
+ } catch (AxisFault axisFault) {
+ throw new SandeshaException(axisFault.getMessage());
+ }
+ }
+
+ /**
+ *
+ * @param msgCtx
+ * @return
+ */
+ public void doSOAP12Encoding(FaultData data, MessageContext msgCtx)
+ throws SandeshaException{
+
SOAPFactory factory =
SOAPAbstractFactory.getSOAPFactory(Constants.SOAPVersion.v1_2);
SOAPEnvelope envelope = factory.getDefaultFaultEnvelope();
- SOAPFault fault = factory.createSOAPFault(envelope.getBody());
- SOAPFaultCode faultCode = factory.createSOAPFaultCode(fault);
- SOAPFaultValue faultValue = factory.createSOAPFaultValue(faultCode);
- faultValue.setText(data.code);
- SOAPFaultSubCode faultSubCode = factory.createSOAPFaultSubCode(faultCode);
- SOAPFaultValue faultValue2 = factory.createSOAPFaultValue(faultSubCode);
- faultValue2.setText(data.subcode);
+ SOAPFault fault = envelope.getBody().getFault();
+ SOAPFaultCode faultCode = fault.getCode();
+ SOAPFaultValue codeValue = faultCode.getValue();
+ codeValue.setText(data.code);
- //TODO
- faultCode.setSubCode(faultSubCode);
+ SOAPFaultSubCode faultSubCode = factory.createSOAPFaultSubCode(faultCode);
+ SOAPFaultValue subCodeValue = factory.createSOAPFaultValue(faultSubCode);
+ subCodeValue.setText(data.subcode);
- SOAPFaultReason faultReason = factory.createSOAPFaultReason(fault);
- SOAPFaultText faultText = factory.createSOAPFaultText(faultReason);
+ SOAPFaultReason faultReason = fault.getReason();
+ SOAPFaultText faultText = faultReason.getSOAPText();
faultText.setText(data.reason);
+
+ SOAPFaultDetail faultDetail = fault.getDetail();
- SOAPFaultDetail faultDetail = factory.createSOAPFaultDetail(fault);
- SOAPHeader header = data.msgCtx.getEnvelope().getHeader();
- OMElement sequence = header.getFirstChildWithName(
- new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.SEQUENCE));
- OMElement identifier = sequence.getFirstChildWithName(
- new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.IDENTIFIER));
- identifier.detach();
-
- faultDetail.addChild(identifier);
-
- }
-
- public void doSOAP11Encoding(FaultData data, MessageContext msgCtx)
- throws SandeshaException {
-
- SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(Constants.SOAPVersion.v1_1);
- SOAPEnvelope faultMsgEnvelope = factory.getDefaultFaultEnvelope();
-
- SOAPFault fault = factory.createSOAPFault(faultMsgEnvelope.getBody());
- SOAPFaultCode soapFaultCode = factory.createSOAPFaultCode(fault);
- SOAPFaultValue soapFaultValue =
- factory.createSOAPFaultValue(soapFaultCode);
- SOAPFaultReason faultReason = factory.createSOAPFaultReason(fault);
-
- if (data.type == FaultMgr.UNKNOWN_SEQUENCE_TYPE) {
- soapFaultValue.setText(data.code);
-
- } else {
-// TODO sets the attribute xml:lang = "en" ..
- soapFaultValue.setText(data.subcode);
+ SOAPEnvelope ienvelope = data.msgCtx.getEnvelope();
+
+ switch (data.type) {
+ case Constants.MessageTypes.APPLICATION:
+
+ /* Sequence */
+ OMElement sequence = ienvelope.getHeader().getFirstChildWithName(
+ new QName(Constants.WSRM.NS_URI_RM,
+ Constants.WSRM.SEQUENCE));
+ OMElement sidentifier = sequence.getFirstChildWithName(
+ new QName(Constants.WSRM.NS_URI_RM,
+ Constants.WSRM.IDENTIFIER));
+
+ OMNamespace snamespace =
+ factory.createOMNamespace(
+ Constants.WSRM.NS_URI_RM,
+ Constants.WSRM.NS_PREFIX_RM);
+ OMElement selement = factory.createOMElement(
+ Constants.WSRM.IDENTIFIER, snamespace);
+
+ selement.setText(sidentifier.getText());
+ faultDetail.addChild(selement);
+ break;
+
+ case Constants.MessageTypes.ACK:
+
+ /* SequenceAcknowledge */
+
+ OMElement sequenceAck
+ = ienvelope.getHeader().getFirstChildWithName(
+ new QName(
+ Constants.WSRM.NS_URI_RM,
+ Constants.WSRM.SEQUENCE_ACK));
+ OMElement aidentifier
+ = sequenceAck.getFirstChildWithName(
+ new QName(Constants.WSRM.NS_URI_RM,
+ Constants.WSRM.IDENTIFIER));
+ OMNamespace anamespace =
+ factory.createOMNamespace(
+ Constants.WSRM.NS_URI_RM,
+ Constants.WSRM.NS_PREFIX_RM);
+ OMElement aelement = factory.createOMElement(
+ Constants.WSRM.IDENTIFIER, anamespace);
+
+ aelement.setText(aidentifier.getText());
+ faultDetail.addChild(aelement);
+ break;
+
+ default:
+
+ /* TODO for other message types */
+ break;
+
}
-
- faultReason.setText(data.reason);
+
+ msgCtx.setProperty(AddressingConstants.WSA_ACTION, WSA_ACTION_FAULT);
try {
- msgCtx.setEnvelope(faultMsgEnvelope);
- } catch (AxisFault axisFault) {
- throw new SandeshaException(axisFault.getMessage());
+ msgCtx.setEnvelope(envelope);
+ } catch (AxisFault e) {
+ throw new SandeshaException(e.getMessage());
}
}
-// public void doSOAP12Encoding(FaultData data, MessageContext msgCtx)
-// throws SandeshaException {
-//
-// SOAPFactory factory =
-// SOAPAbstractFactory.getSOAPFactory(Constants.SOAPVersion.v1_2);
-// SOAPEnvelope faultMsgEnvelope = factory.getDefaultFaultEnvelope();
-//
-// SOAPFault fault = faultMsgEnvelope.getBody().getFault();
-// SOAPFaultCode soapFaultCode = fault.getCode();
-// soapFaultCode.getValue().setText(data.code);
-//
-//
-// SOAPFaultSubCode soapFaultSubCode
-// = factory.createSOAPFaultSubCode(soapFaultCode, soapFaultCode.getBuilder());
-// SOAPFaultValue soapFaultValue = factory.createSOAPFaultValue(soapFaultSubCode);
-// soapFaultValue.setText(data.subcode);
-//
-//
-// fault.getReason().getSOAPText().setText(data.reason);
-// SOAPEnvelope envelope = msgCtx.getEnvelope();
-//
-//
-// try {
-// msgCtx.setEnvelope(faultMsgEnvelope);
-// } catch (AxisFault axisFault) {
-// throw new SandeshaException(axisFault.getMessage());
-// }
-// }
public int getMessageType(MessageContext msgCtx) {
SOAPHeader header = msgCtx.getEnvelope().getHeader();
+ SOAPBody body = msgCtx.getEnvelope().getBody();
if (header.getFirstChildWithName(
new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.SEQUENCE))
@@ -519,17 +475,17 @@
!= null) {
return Constants.MessageTypes.ACK;
- } else if (header.getFirstChildWithName(
+ } else if (body.getFirstChildWithName(
new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.CREATE_SEQUENCE))
!= null) {
return Constants.MessageTypes.CREATE_SEQ;
- } else if (header.getFirstChildWithName(
+ } else if (body.getFirstChildWithName(
new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.CREATE_SEQUENCE_RESPONSE))
!= null) {
return Constants.MessageTypes.CREATE_SEQ_RESPONSE;
- } else if (header.getFirstChildWithName(
+ } else if (body.getFirstChildWithName(
new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.TERMINATE_SEQUENCE))
!= null) {
return Constants.MessageTypes.TERMINATE_SEQ;
@@ -546,9 +502,5 @@
}
-
-
-
-
-
+
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/FaultCode.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/FaultCode.java?rev=327157&r1=327156&r2=327157&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/FaultCode.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/FaultCode.java Fri Oct 21 04:26:23 2005
@@ -95,5 +95,13 @@
return sequenceFault;
}
+
+ public void setFaultCode(String faultCode) {
+ this.faultCode = faultCode;
+ }
+
+ public String getFaultCode() {
+ return faultCode;
+ }
-}
\ No newline at end of file
+}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceFault.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceFault.java?rev=327157&r1=327156&r2=327157&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceFault.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/SequenceFault.java Fri Oct 21 04:26:23 2005
@@ -18,14 +18,13 @@
import java.util.Iterator;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
import javax.xml.namespace.QName;
import org.apache.axis2.om.OMAbstractFactory;
import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.OMException;
import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.soap.SOAPBody;
import org.apache.axis2.soap.SOAPEnvelope;
import org.apache.axis2.soap.SOAPHeader;
import org.apache.axis2.soap.SOAPHeaderBlock;
@@ -125,4 +124,4 @@
return sequenceFaultElement;
}
-}
\ No newline at end of file
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org