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 ga...@apache.org on 2007/03/27 13:57:53 UTC
svn commit: r522874 - in /webservices/sandesha/trunk/java:
src/org/apache/sandesha2/ src/org/apache/sandesha2/util/
src/org/apache/sandesha2/wsrm/ test/src/org/apache/sandesha2/faulttests/
Author: gatfora
Date: Tue Mar 27 04:57:52 2007
New Revision: 522874
URL: http://svn.apache.org/viewvc?view=rev&rev=522874
Log:
Make sure that the right namespace is used to parse Subcodes from SequenceFaults
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java
webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java
webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java Tue Mar 27 04:57:52 2007
@@ -17,6 +17,8 @@
package org.apache.sandesha2;
+import javax.xml.namespace.QName;
+
import org.apache.axiom.om.OMElement;
/**
@@ -30,7 +32,7 @@
private String code;
- private String subcode;
+ private QName subcode;
private String reason;
@@ -69,11 +71,11 @@
this.reason = reason;
}
- public String getSubcode() {
+ public QName getSubcode() {
return subcode;
}
- public void setSubcode(String subcode) {
+ public void setSubcode(QName subcode) {
this.subcode = subcode;
}
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java Tue Mar 27 04:57:52 2007
@@ -82,6 +82,15 @@
// Other elements
QName Identifier = new QName(NS_URI, WSRM_COMMON.IDENTIFIER);
+
+ // Fault elements
+ QName UnknownSequence = new QName(NS_URI, SOAPFaults.Subcodes.UNKNOWN_SEQUENCE);
+ QName MessageNumberRollover = new QName(NS_URI, SOAPFaults.Subcodes.MESSAGE_NUMBER_ROLEOVER);
+ QName InvalidAcknowledgement = new QName(NS_URI, SOAPFaults.Subcodes.INVALID_ACKNOWLEDGEMENT);
+ QName CreateSequenceRefused = new QName(NS_URI, SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
+ QName LastMessageNoExceeded = new QName(NS_URI, SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
+ QName SequenceClosed = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_CLOSED);
+ QName SequenceTerminated = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_TERMINATED);
}
}
@@ -141,6 +150,15 @@
// Other elements
QName Identifier = new QName(NS_URI, WSRM_COMMON.IDENTIFIER);
+
+ // Fault elements
+ QName UnknownSequence = new QName(NS_URI, SOAPFaults.Subcodes.UNKNOWN_SEQUENCE);
+ QName MessageNumberRollover = new QName(NS_URI, SOAPFaults.Subcodes.MESSAGE_NUMBER_ROLEOVER);
+ QName InvalidAcknowledgement = new QName(NS_URI, SOAPFaults.Subcodes.INVALID_ACKNOWLEDGEMENT);
+ QName CreateSequenceRefused = new QName(NS_URI, SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
+ QName LastMessageNoExceeded = new QName(NS_URI, SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
+ QName SequenceClosed = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_CLOSED);
+ QName SequenceTerminated = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_TERMINATED);
}
}
@@ -336,19 +354,19 @@
public interface Subcodes {
- String SEQUENCE_TERMINATED = "wsrm:SequenceTerminated";
+ String SEQUENCE_TERMINATED = "SequenceTerminated";
- String SEQUENCE_CLOSED = "wsrm:SequenceClosed";
+ String SEQUENCE_CLOSED = "SequenceClosed";
- String UNKNOWN_SEQUENCE = "wsrm:UnknownSequence";
+ String UNKNOWN_SEQUENCE = "UnknownSequence";
- String INVALID_ACKNOWLEDGEMENT = "wsrm:InvalidAcknowledgement";
+ String INVALID_ACKNOWLEDGEMENT = "InvalidAcknowledgement";
- String MESSAGE_NUMBER_ROLEOVER = "wsrm:MessageNumberRollover";
+ String MESSAGE_NUMBER_ROLEOVER = "MessageNumberRollover";
- String LAST_MESSAGE_NO_EXCEEDED = "wsrm:LastMessageNumberExceeded";
+ String LAST_MESSAGE_NO_EXCEEDED = "LastMessageNumberExceeded";
- String CREATE_SEQUENCE_REFUSED = "wsrm:CreateSequenceRefused";
+ String CREATE_SEQUENCE_REFUSED = "CreateSequenceRefused";
}
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java Tue Mar 27 04:57:52 2007
@@ -179,7 +179,8 @@
else
data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
- data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.UNKNOWN_SEQUENCE);
+ data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMessageContext.getRMNamespaceValue(),
+ Sandesha2Constants.SOAPFaults.FaultType.UNKNOWN_SEQUENCE ));
SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
@@ -271,7 +272,8 @@
data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
data.setType(Sandesha2Constants.SOAPFaults.FaultType.INVALID_ACKNOWLEDGEMENT);
- data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.INVALID_ACKNOWLEDGEMENT);
+ data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMsgCtx.getRMNamespaceValue(),
+ Sandesha2Constants.SOAPFaults.FaultType.INVALID_ACKNOWLEDGEMENT ));
data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.invalidAckFault));
SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
@@ -314,7 +316,8 @@
else
data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
- data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
+ data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMessageContext.getRMNamespaceValue(),
+ Sandesha2Constants.SOAPFaults.FaultType.CREATE_SEQUENCE_REFUSED ));
SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
OMElement identifierElement = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
@@ -357,7 +360,8 @@
else
data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
- data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.SEQUENCE_TERMINATED);
+ data.setSubcode(SpecSpecificConstants.getFaultSubcode(referenceRMMessage.getRMNamespaceValue(),
+ Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED ));
data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.sequenceTerminatedFault, sequenceID));
data.setType(Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED);
@@ -394,7 +398,8 @@
else
data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
- data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.SEQUENCE_CLOSED);
+ data.setSubcode(SpecSpecificConstants.getFaultSubcode(referenceRMMessage.getRMNamespaceValue(),
+ Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED ));
data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.cannotAcceptMsgAsSequenceClosedFault));
data.setType(Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED);
@@ -437,6 +442,7 @@
SOAPFaultValue faultSubcodeValue = factory.createSOAPFaultValue(faultSubCode);
faultColdValue.setText(data.getCode());
+
faultSubcodeValue.setText(data.getSubcode());
faultCode.setSubCode(faultSubCode);
@@ -529,7 +535,8 @@
if (faultPart.getCode() != null &&
faultPart.getCode().getSubCode() != null &&
faultPart.getCode().getSubCode().getValue() != null)
- soapFaultSubcode = faultPart.getCode().getSubCode().getValue().getText();
+
+ soapFaultSubcode = faultPart.getCode().getSubCode().getValue().getTextAsQName().getLocalPart();
// Get the identifier, if there is one.
SOAPFaultDetail detail = faultPart.getDetail();
@@ -548,7 +555,7 @@
// If the sequence fault part is not null, then we have an RM specific fault.
if (sequenceFault != null) {
- soapFaultSubcode = sequenceFault.getFaultCode().getFaultCode();
+ soapFaultSubcode = sequenceFault.getFaultCode().getFaultCode().getLocalPart();
// Get the identifier - if there is one.
identifier = sequenceFault.getFaultCode().getDetail();
@@ -611,7 +618,8 @@
FaultData data = new FaultData();
data.setCode(SOAP11Constants.FAULT_CODE_SENDER);
- data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.MESSAGE_NUMBER_ROLEOVER);
+ data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMessageContext.getRMNamespaceValue(),
+ Sandesha2Constants.SOAPFaults.FaultType.MESSAGE_NUMBER_ROLLOVER ));
SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
OMElement identifierElement = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java Tue Mar 27 04:57:52 2007
@@ -17,6 +17,10 @@
package org.apache.sandesha2.util;
+import java.util.MissingResourceException;
+
+import javax.xml.namespace.QName;
+
import org.apache.axis2.addressing.AddressingConstants;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
@@ -373,5 +377,67 @@
return result;
}
+
+ public static QName getFaultSubcode(String namespaceValue, int faultType)
+ throws SandeshaException, MissingResourceException {
+ QName result = null;
+
+ if (Sandesha2Constants.SPEC_2005_02.NS_URI.equals(namespaceValue)) {
+ switch (faultType) {
+ case Sandesha2Constants.SOAPFaults.FaultType.UNKNOWN_SEQUENCE:
+ result = Sandesha2Constants.SPEC_2005_02.QNames.UnknownSequence;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.MESSAGE_NUMBER_ROLLOVER:
+ result = Sandesha2Constants.SPEC_2005_02.QNames.MessageNumberRollover;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.INVALID_ACKNOWLEDGEMENT:
+ result = Sandesha2Constants.SPEC_2005_02.QNames.InvalidAcknowledgement;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.CREATE_SEQUENCE_REFUSED:
+ result = Sandesha2Constants.SPEC_2005_02.QNames.CreateSequenceRefused;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.LAST_MESSAGE_NO_EXCEEDED:
+ result = Sandesha2Constants.SPEC_2005_02.QNames.LastMessageNoExceeded;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED:
+ result = Sandesha2Constants.SPEC_2005_02.QNames.SequenceClosed;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED:
+ result = Sandesha2Constants.SPEC_2005_02.QNames.SequenceTerminated;
+ break;
+ }
+ }
+ else if (Sandesha2Constants.SPEC_2007_02.NS_URI.equals(namespaceValue)) {
+ switch (faultType) {
+ case Sandesha2Constants.SOAPFaults.FaultType.UNKNOWN_SEQUENCE:
+ result = Sandesha2Constants.SPEC_2007_02.QNames.UnknownSequence;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.MESSAGE_NUMBER_ROLLOVER:
+ result = Sandesha2Constants.SPEC_2007_02.QNames.MessageNumberRollover;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.INVALID_ACKNOWLEDGEMENT:
+ result = Sandesha2Constants.SPEC_2007_02.QNames.InvalidAcknowledgement;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.CREATE_SEQUENCE_REFUSED:
+ result = Sandesha2Constants.SPEC_2007_02.QNames.CreateSequenceRefused;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.LAST_MESSAGE_NO_EXCEEDED:
+ result = Sandesha2Constants.SPEC_2007_02.QNames.LastMessageNoExceeded;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED:
+ result = Sandesha2Constants.SPEC_2007_02.QNames.SequenceClosed;
+ break;
+ case Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED:
+ result = Sandesha2Constants.SPEC_2007_02.QNames.SequenceTerminated;
+ break;
+ }
+ }
+ else
+ throw new SandeshaException (SandeshaMessageHelper.getMessage(
+ SandeshaMessageKeys.unknownSpec,
+ namespaceValue));
+
+ return result;
+ }
}
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java Tue Mar 27 04:57:52 2007
@@ -34,7 +34,7 @@
public class FaultCode implements IOMRMElement {
- private String faultCode = null;
+ private QName faultCode = null;
private String namespaceValue = null;
@@ -73,14 +73,12 @@
SandeshaMessageKeys.noFaultCode,
sequenceFault.toString()));
- this.faultCode = faultCodePart.getText();
+ this.faultCode = faultCodePart.getTextAsQName();
OMElement detailPart = sequenceFault
.getFirstChildWithName(new QName(namespaceValue,
Sandesha2Constants.WSRM_COMMON.DETAIL));
- this.faultCode = faultCodePart.getText();
-
if (detailPart != null) {
detailOMElement = detailPart;
@@ -103,7 +101,7 @@
SandeshaMessageHelper.getMessage(
SandeshaMessageKeys.nullPassedElement));
- if (faultCode == null || faultCode == "")
+ if (faultCode == null)
throw new OMException(
SandeshaMessageHelper.getMessage(
SandeshaMessageKeys.noFaultCode));
@@ -132,11 +130,11 @@
return sequenceFault;
}
- public void setFaultCode(String faultCode) {
+ public void setFaultCode(QName faultCode) {
this.faultCode = faultCode;
}
- public String getFaultCode() {
+ public QName getFaultCode() {
return faultCode;
}
Modified: webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java (original)
+++ webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java Tue Mar 27 04:57:52 2007
@@ -85,7 +85,7 @@
assertNotNull(message);
// Check that the response contains the wsrm:CreateSequenceRefused tag
- assertTrue(message.indexOf("wsrm:CreateSequenceRefused") > -1);
+ assertTrue(message.indexOf("CreateSequenceRefused") > -1);
// Disconnect at the end of the test
connection.disconnect();
@@ -145,5 +145,6 @@
return outputStream.toByteArray();
}
}
+
Modified: webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java (original)
+++ webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java Tue Mar 27 04:57:52 2007
@@ -119,7 +119,7 @@
assertNotNull(message);
// Check that the response contains the InvalidAcknowledgement tag
- assertTrue(message.indexOf("wsrm:InvalidAcknowledgement") > -1);
+ assertTrue(message.indexOf("InvalidAcknowledgement") > -1);
// Check that the <wsrm:Identifier>seqID</wsrm:Identifier> matches the sequence ID specified
String faultID = message.substring(message.indexOf("<wsrm:Identifier>") + 17, message.indexOf("</wsrm:Identifier>"));
@@ -274,5 +274,6 @@
return bean;
}
}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org