Author: chamikara
Date: Tue Oct 24 03:00:05 2006
New Revision: 467298
URL: http://svn.apache.org/viewvc?view=rev&rev=467298
Log:
Added an Endpoint part to the SequenceOffer. This is required by the WSRM 1.1
specification.
Corrected the AcksTo part to enclose an EndpointReference element.
A correction to the MakeConnection action value.
Several other bug fixes
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClientConstants.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMElement.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java
(original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/RMMsgContext.java
Tue Oct 24 03:00:05 2006
@@ -74,7 +74,7 @@
*
* @throws SandeshaException
*/
- public void addSOAPEnvelope() throws SandeshaException {
+ public void addSOAPEnvelope() throws AxisFault {
int SOAPVersion = Sandesha2Constants.SOAPVersion.v1_1;
if (!msgContext.isSOAP11())
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=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
Tue Oct 24 03:00:05 2006
@@ -81,7 +81,7 @@
String ACTION_CLOSE_SEQUENCE_RESPONSE =
"http://docs.oasis-open.org/ws-rx/wsrm/200608/CloseSequenceResponse";
- String ACTION_MAKE_CONNECTION =
"http://docs.oasisopen.org/ws-rx/wsrm/200608/MakeConnection";
+ String ACTION_MAKE_CONNECTION =
"http://docs.oasis-open.org/ws-rx/wsrm/200608/MakeConnection";
String SOAP_ACTION_CREATE_SEQUENCE =
"http://docs.oasis-open.org/ws-rx/wsrm/200608/CreateSequence";
@@ -106,8 +106,6 @@
String NS_PREFIX_RM = "wsrm";
-
-
String MSG_NUMBER = "MessageNumber";
String LAST_MSG = "LastMessage";
@@ -158,12 +156,15 @@
String MAKE_CONNECTION = "MakeConnection";
+ String ADDRESS = "Address";
+
String MESSAGE_PENDING = "MessagePending";
String PENDING = "pending";
String USES_SEQUENCE_STR = "UsesSequenceSTR";
+ String ENDPOINT = "Endpoint";
}
public interface WSA {
@@ -314,6 +315,8 @@
String SECURITY_TOKEN = "SecurityToken";
String SOAP_VERSION = "SOAPVersion";
+
+ String OFFERED_ENDPOINT = "OfferedEndpoint";
}
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClientConstants.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClientConstants.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClientConstants.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClientConstants.java
Tue Oct 24 03:00:05 2006
@@ -30,5 +30,6 @@
public static String DUMMY_MESSAGE = "Sandesha2DummyMessage"; //If this
property is set, even though this message will invoke the RM handlers, this
will not be sent as an actual application message
public static String UNRELIABLE_MESSAGE = "Sandesha2UnreliableMessage";
public static String SANDESHA_LISTENER = "Sandesha2Listener";
- public static String USE_REPLY_TO_AS_ACKS_TO = "UseReplyToAsAcksTo";
+ public static String USE_REPLY_TO_AS_ACKS_TO = "UseReplyToAsAcksTo";
+ public static String OFFERED_ENDPOINT = "OfferedEndpoint";
}
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
Tue Oct 24 03:00:05 2006
@@ -121,6 +121,11 @@
log.debug(message);
throw new AxisFault(message, ex);
}
+
+ //Ack messages will be paused
+ if
(rmMsgCtx.getMessageType()==Sandesha2Constants.MessageTypes.ACK) {
+ rmMsgCtx.pause();
+ }
// validating the message
MessageValidator.validateMessage(rmMsgCtx,
storageManager);
@@ -130,6 +135,7 @@
if (msgProcessor != null)
msgProcessor.processInMessage(rmMsgCtx);
+
} catch (AxisFault e) {
// message should not be sent in a exception situation.
msgCtx.pause();
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
Tue Oct 24 03:00:05 2006
@@ -199,12 +199,14 @@
public static final String createSeqNullAcksTo="createSeqNullAcksTo";
public static final String acceptNullAcksTo="acceptNullAcksTo";
public static final String noAcksToPart="noAcksToPart";
+ public static final String noElementPart="noElementPart";
public static final String cannotProcessExpires="cannotProcessExpires";
public static final String noFaultCode="noFaultCode";
public static final String seqAckNonHeader="seqAckNonHeader";
public static final String
makeConnectionCannotBeAddedToNonBody="makeConnectionCannotBeAddedToNonBody";
- public static final String cannotSetACksTo="cannotSetACksTo";
+ public static final String cannotSetAcksTo="cannotSetAcksTo";
+ public static final String cannotSetEndpoint="cannotSetEndpoint";
public static final String invalidMsgNumber="invalidMsgNumber";
public static final String addressNotValid="addressNotValid";
@@ -240,4 +242,10 @@
public final static String noSecurityResults = "noSecurityResults";
public final static String noSecConvTokenInPolicy =
"noSecConvTokenInPolicy";
public final static String noServicePolicy = "noServicePolicy";
-}
+
+ public final static String elementMustForSpec = "elementMustForSpec";
+ public final static String addressingNamespaceNotSet =
"addressingNamespaceNotSet";
+ public final static String invalidOfferNoResponseEndpoint =
"invalidOfferNoResponseEndpoint";
+ public final static String invalidElementFoundWithinElement =
"invalidElementFoundWithinElement";
+
+}
\ No newline at end of file
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
Tue Oct 24 03:00:05 2006
@@ -107,6 +107,7 @@
specVersionPropertyNotAvailable=''SpecVersion'' sequence property is not
available for the incoming sequence {0}: cannot find the RM version for
outgoing side.
specVersionNotSet=Error: 'SpecVersion'' is not set.
specDoesNotSupportElement=Spec ''{0}'' does not support the element {1}
+addressingNamespaceNotSet=Internal error. Addressing namespace not set.
couldNotSendTerminate=Could not send the terminate message due to error {0}.
couldNotSendClose=Could not send the close sequence message due to error {0}.
@@ -219,14 +220,18 @@
createSeqNullAcksTo=Cannot add a ''create seqeunce part'' since ''acksTo'' is
not set.
acceptNullAcksTo=Cannot add ''Accept'' part since ''acksTo'' is not set.
noAcksToPart=The passed element {0} does not contain an ''acksTo'' part.
+noElementPart=The passed element {0} does not contain an ''Ele,'' part.
cannotProcessExpires=Cannot process ''Expires'' since the duration value is
not valid.
noFaultCode=Cannot add ''Fault Code'' since the the value is not set correctly.
seqAckNonHeader=Cannot get sequence acknowlegement from a non-header element
-cannotSetACksTo=Cannot set the address as the value is not valid {0}
+cannotSetACksTo=Cannot set the of the AcksTo element address as the value is
not valid {0}
+cannotSetEndpoint=Cannot set the address of the Elndpoint element as the value
is not valid {0}
setAValidMsgNumber=Set A Valid Message Number {0}.
addressNotValid=Cannot set the address - the address value is not valid
+elementMustForSpec=Element ''{0}'' must be present for the spec ''{1}''
+
#-------------------------------------
#
# Client messages
@@ -254,6 +259,8 @@
cannotFindReqMsgFromOpContext=Cannot find the request message from the
operation context
toEPRNotSet=To EPR has not been set in the given message
cannotFindTransportInDesc=Cannot find the transport in description {0} in the
ConfigurationContext
+invalidOfferNoResponseEndpoint=Cannot derive a valid offer from the given
infomation. No Endpoint for receiving messages.
+invalidElementFoundWithinElement=Found invalid ''{0}'' element within ''{1}''
element
#------------------
# Security messages
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
Tue Oct 24 03:00:05 2006
@@ -55,6 +55,7 @@
import org.apache.sandesha2.wsrm.Accept;
import org.apache.sandesha2.wsrm.CreateSequence;
import org.apache.sandesha2.wsrm.CreateSequenceResponse;
+import org.apache.sandesha2.wsrm.Endpoint;
import org.apache.sandesha2.wsrm.SequenceOffer;
/**
@@ -119,6 +120,9 @@
// created
// sequnceID.
+
+
+
RMMsgContext createSeqResponse =
RMMsgCreator.createCreateSeqResponseMsg(createSeqRMMsg, outMessage,
newSequenceId, storageManager); //
converting the blank out
// message in to a create
@@ -166,6 +170,7 @@
// dummy
// value.
+
String outgoingSideSequencePropertyKey
= outgoingSideInternalSequenceId;
CreateSeqBeanMgr createSeqMgr =
storageManager.getCreateSeqBeanMgr();
@@ -188,6 +193,19 @@
internalSequenceBean.setSequencePropertyKey(offeredSequenceID);
internalSequenceBean.setValue(outgoingSideInternalSequenceId);
seqPropMgr.insert(internalSequenceBean);
+
+ Endpoint endpoint = offer.getEndpoint();
+ if (endpoint!=null) {
+ // setting the OfferedEndpoint
+ SequencePropertyBean
offeredEndpointBean = new SequencePropertyBean();
+
offeredEndpointBean.setName(Sandesha2Constants.SequenceProperties.OFFERED_ENDPOINT);
+
+ //currently we can only
serialize the Address part of the Endpoint.
+ //TODO correct this to
serialize the whole EPR.
+
offeredEndpointBean.setValue(endpoint.getEPR().getAddress());
+
offeredEndpointBean.setSequencePropertyKey(outgoingSideSequencePropertyKey);
+
seqPropMgr.insert(offeredEndpointBean);
+ }
} else {
// removing the accept part.
createSeqResPart.setAccept(null);
@@ -195,7 +213,7 @@
}
}
- EndpointReference acksTo =
createSeqPart.getAcksTo().getAddress().getEpr();
+ EndpointReference acksTo =
createSeqPart.getAcksTo().getEPR();
if (acksTo == null || acksTo.getAddress() == null ||
"".equals(acksTo.getAddress())) {
String message =
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.noAcksToPartInCreateSequence);
log.debug(message);
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
Tue Oct 24 03:00:05 2006
@@ -169,7 +169,7 @@
String offeredSequenceId = (String)
offeredSequenceBean.getValue();
- EndpointReference acksToEPR =
accept.getAcksTo().getAddress().getEpr();
+ EndpointReference acksToEPR =
accept.getAcksTo().getEPR();
SequencePropertyBean acksToBean = new
SequencePropertyBean();
acksToBean.setName(Sandesha2Constants.SequenceProperties.ACKS_TO_EPR);
acksToBean.setSequencePropertyKey(offeredSequenceId);
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
Tue Oct 24 03:00:05 2006
@@ -54,7 +54,7 @@
findSenderBean.setSend(true);
if (address!=null)
-
findSenderBean.setWsrmAnonURI(address.getEpr().getAddress());
+ findSenderBean.setWsrmAnonURI(address.getAddress());
if (identifier!=null)
findSenderBean.setSequenceID(identifier.getIdentifier());
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MsgInitializer.java
Tue Oct 24 03:00:05 2006
@@ -19,6 +19,7 @@
import java.util.Iterator;
+import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.AddressingConstants;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
@@ -63,7 +64,7 @@
* @return
* @throws SandeshaException
*/
- public static RMMsgContext initializeMessage(MessageContext ctx) throws
SandeshaException {
+ public static RMMsgContext initializeMessage(MessageContext ctx) throws
AxisFault {
RMMsgContext rmMsgCtx = new RMMsgContext(ctx);
populateRMMsgContext(ctx, rmMsgCtx);
@@ -77,7 +78,7 @@
* @param msgCtx
* @param rmMsgContext
*/
- private static void populateRMMsgContext(MessageContext msgCtx,
RMMsgContext rmMsgContext) throws SandeshaException {
+ private static void populateRMMsgContext(MessageContext msgCtx,
RMMsgContext rmMsgContext) throws AxisFault {
// if client side and the addressing version is not set.
assuming the
// default addressing version
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
Tue Oct 24 03:00:05 2006
@@ -62,6 +62,7 @@
import org.apache.sandesha2.wsrm.CloseSequenceResponse;
import org.apache.sandesha2.wsrm.CreateSequence;
import org.apache.sandesha2.wsrm.CreateSequenceResponse;
+import org.apache.sandesha2.wsrm.Endpoint;
import org.apache.sandesha2.wsrm.IOMRMElement;
import org.apache.sandesha2.wsrm.Identifier;
import org.apache.sandesha2.wsrm.MakeConnection;
@@ -200,12 +201,12 @@
*
* @param applicationRMMsg
* @param internalSequenceId
- * @param acksTo
+ * @param acksToEPR
* @return
* @throws SandeshaException
*/
public static RMMsgContext createCreateSeqMsg(RMMsgContext
applicationRMMsg, String sequencePropertyKey,
- EndpointReference acksTo, StorageManager
storageManager) throws AxisFault {
+ EndpointReference acksToEPR, StorageManager
storageManager) throws AxisFault {
MessageContext applicationMsgContext =
applicationRMMsg.getMessageContext();
if (applicationMsgContext == null)
@@ -214,9 +215,6 @@
if (context == null)
throw new
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.configContextNotSet));
- SOAPFactory factory =
SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(applicationMsgContext
- .getEnvelope()));
-
SequencePropertyBeanMgr seqPropMgr =
storageManager.getSequencePropertyBeanMgr();
MessageContext createSeqmsgContext;
try {
@@ -292,12 +290,30 @@
if (operationcontext != null) {
String offeredSequence = (String) applicationMsgContext
.getProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID);
+ EndpointReference offeredEndpoint = (EndpointReference)
applicationMsgContext
+
.getProperty(SandeshaClientConstants.OFFERED_ENDPOINT);
+
+ if (offeredEndpoint==null)
+ offeredEndpoint =
applicationMsgContext.getReplyTo(); //using replyTo as the Endpoint if it is
not specified
+
if (offeredSequence != null &&
!"".equals(offeredSequence)) {
SequenceOffer offerPart = new
SequenceOffer(rmNamespaceValue);
Identifier identifier = new
Identifier(rmNamespaceValue);
identifier.setIndentifer(offeredSequence);
offerPart.setIdentifier(identifier);
createSequencePart.setSequenceOffer(offerPart);
+
+ if
(Sandesha2Constants.SPEC_2006_08.NS_URI.equals(rmNamespaceValue)) {
+ if (offeredEndpoint!=null) {
+ Endpoint endpoint = new
Endpoint (rmNamespaceValue,addressingNamespaceValue);
+ endpoint.setEPR
(offeredEndpoint);
+ offerPart.setEndpoint(endpoint);
+ } else {
+ String message =
SandeshaMessageHelper.getMessage(
+
SandeshaMessageKeys.invalidOfferNoResponseEndpoint);
+ throw new SandeshaException
(message);
+ }
+ }
}
}
@@ -315,8 +331,8 @@
String anonymousURI =
SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceValue);
- if (acksTo==null || acksTo.getAddress() == null ||
"".equals(acksTo.getAddress()))
- acksTo = new EndpointReference(anonymousURI);
+ if (acksToEPR==null || acksToEPR.getAddress() == null ||
"".equals(acksToEPR.getAddress()))
+ acksToEPR = new EndpointReference(anonymousURI);
if (replyToBean != null && replyToBean.getValue() != null)
replyToEPR = new
EndpointReference(replyToBean.getValue());
@@ -328,8 +344,9 @@
if (replyToEPR != null)
createSeqRMMsg.setReplyTo(replyToEPR);
- createSequencePart.setAcksTo(new AcksTo(new Address(acksTo,
addressingNamespaceValue), factory,
- rmNamespaceValue, addressingNamespaceValue));
+
+ AcksTo acksTo = new
AcksTo(acksToEPR,rmNamespaceValue,addressingNamespaceValue);
+ createSequencePart.setAcksTo(acksTo);
// Find the token that should be used to secure this new
sequence. If there is a token, then we
// save it in the properties so that the caller can store the
token within the create sequence
@@ -374,7 +391,7 @@
* @throws SandeshaException
*/
public static RMMsgContext createTerminateSequenceMessage(RMMsgContext
referenceRMMessage, String sequenceId,
- String sequencePropertyKey, StorageManager
storageManager) throws SandeshaException {
+ String sequencePropertyKey, StorageManager
storageManager) throws AxisFault {
MessageContext referenceMessage =
referenceRMMessage.getMessageContext();
if (referenceMessage == null)
throw new
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.msgContextNotSet));
@@ -520,10 +537,9 @@
Accept accept = new Accept(rmNamespaceValue,
addressingNamespaceValue);
EndpointReference acksToEPR =
createSeqMessage.getTo();
- AcksTo acksTo = new AcksTo(rmNamespaceValue,
addressingNamespaceValue);
- Address address = new
Address(addressingNamespaceValue);
- address.setEpr(acksToEPR);
- acksTo.setAddress(address);
+
+ //putting the To EPR as the AcksTo for the
response sequence.
+ AcksTo acksTo = new
AcksTo(acksToEPR,rmNamespaceValue, addressingNamespaceValue);
accept.setAcksTo(acksTo);
response.setAccept(accept);
}
@@ -561,10 +577,9 @@
}
public static RMMsgContext createTerminateSeqResponseMsg(RMMsgContext
terminateSeqRMMsg, MessageContext outMessage,
- StorageManager storageManager) throws SandeshaException
{
+ StorageManager storageManager) throws AxisFault {
RMMsgContext terminateSeqResponseRMMsg = new
RMMsgContext(outMessage);
- ConfigurationContext configurationContext =
terminateSeqRMMsg.getMessageContext().getConfigurationContext();
SOAPFactory factory =
SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(terminateSeqRMMsg
.getSOAPEnvelope()));
@@ -602,7 +617,7 @@
}
public static RMMsgContext createCloseSeqResponseMsg(RMMsgContext
closeSeqRMMsg, MessageContext outMessage,
- StorageManager storageManager) throws SandeshaException
{
+ StorageManager storageManager) throws AxisFault {
RMMsgContext closeSeqResponseRMMsg = new
RMMsgContext(outMessage);
ConfigurationContext configurationContext =
closeSeqRMMsg.getMessageContext().getConfigurationContext();
@@ -649,7 +664,7 @@
* @throws SandeshaException
*/
public static void addAckMessage(RMMsgContext applicationMsg, String
sequencePropertyKey ,String sequenceId, StorageManager storageManager)
- throws SandeshaException {
+ throws AxisFault {
SOAPFactory factory = null;
SOAPEnvelope envelope = applicationMsg.getSOAPEnvelope();
@@ -733,7 +748,7 @@
if (makeConnectionAnonURI!=null) {
Address address = new Address (rmNamespaceValue);
- address.setEpr(new EndpointReference
(makeConnectionAnonURI));
+ address.setAddress (makeConnectionAnonURI);
makeConnection.setAddress(address);
}
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
Tue Oct 24 03:00:05 2006
@@ -71,7 +71,7 @@
throw new AxisFault(message);
}
- EndpointReference acksTo =
createSequence.getAcksTo().getAddress().getEpr();
+ EndpointReference acksTo = createSequence.getAcksTo().getEPR();
if (acksTo == null) {
String message =
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.noAcksToPartInCreateSequence);
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
Tue Oct 24 03:00:05 2006
@@ -363,8 +363,6 @@
public static void addTerminateSequenceMessage(RMMsgContext
referenceMessage, String outSequenceId,
String sequencePropertyKey, StorageManager
storageManager) throws AxisFault {
- ConfigurationContext configurationContext =
referenceMessage.getMessageContext().getConfigurationContext();
-
// / Transaction addTerminateSeqTransaction =
// storageManager.getTransaction();
@@ -384,17 +382,36 @@
terminateRMMessage.setFlow(MessageContext.OUT_FLOW);
terminateRMMessage.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE,
"true");
- SequencePropertyBean toBean =
seqPropMgr.retrieve(sequencePropertyKey,
+
+ //setting the To EPR.
+ //First try to get it from an Endpoint property.
+ //If not get it from the To property.
+
+ EndpointReference toEPR = null;
+
+ SequencePropertyBean endpointBean =
seqPropMgr.retrieve(sequencePropertyKey,
+
Sandesha2Constants.SequenceProperties.OFFERED_ENDPOINT);
+ if (endpointBean!=null) {
+ toEPR = new EndpointReference (endpointBean.getValue());
+ }
+
+ if (toEPR==null) {
+
+ SequencePropertyBean toBean =
seqPropMgr.retrieve(sequencePropertyKey,
Sandesha2Constants.SequenceProperties.TO_EPR);
- EndpointReference toEPR = new
EndpointReference(toBean.getValue());
- if (toEPR == null) {
- String message =
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.toEPRNotValid, null);
- throw new SandeshaException(message);
+ if (toBean!=null) {
+ toEPR = new
EndpointReference(toBean.getValue());
+ if (toEPR == null) {
+ String message =
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.toEPRNotValid, null);
+ throw new SandeshaException(message);
+ }
+ }
}
-
- terminateRMMessage.setTo(new
EndpointReference(toEPR.getAddress()));
+ if (toEPR!=null)
+ terminateRMMessage.setTo(toEPR);
+
SequencePropertyBean replyToBean =
seqPropMgr.retrieve(sequencePropertyKey,
Sandesha2Constants.SequenceProperties.REPLY_TO_EPR);
if (replyToBean!=null) {
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java
(original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Accept.java
Tue Oct 24 03:00:05 2006
@@ -23,6 +23,7 @@
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.AxisFault;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -56,7 +57,7 @@
return rmNamespaceValue;
}
- public Object fromOMElement(OMElement element) throws
OMException,SandeshaException {
+ public Object fromOMElement(OMElement element) throws
OMException,AxisFault {
OMFactory factory = element.getOMFactory();
@@ -73,7 +74,7 @@
return this;
}
- public OMElement toOMElement(OMElement element) throws OMException {
+ public OMElement toOMElement(OMElement element) throws
OMException,AxisFault {
OMFactory factory = element.getOMFactory();
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java
(original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/AcksTo.java
Tue Oct 24 03:00:05 2006
@@ -22,8 +22,9 @@
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.addressing.EndpointReferenceHelper;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -36,13 +37,13 @@
public class AcksTo implements IOMRMElement {
- private Address address;
+ private EndpointReference epr;
private String rmNamespaceValue = null;
private String addressingNamespaceValue = null;
- public AcksTo(String rmNamespaceValue,String addressingNamespaceValue)
throws SandeshaException {
+ public AcksTo (String rmNamespaceValue,String addressingNamespaceValue)
throws AxisFault {
if (!isNamespaceSupported(rmNamespaceValue))
throw new SandeshaException
(SandeshaMessageHelper.getMessage(
SandeshaMessageKeys.unknownSpec,
@@ -52,16 +53,16 @@
this.addressingNamespaceValue = addressingNamespaceValue;
}
- public AcksTo (Address address,SOAPFactory factory,String
rmNamespaceValue, String addressingNamespaceValue) throws SandeshaException {
+ public AcksTo (EndpointReference epr ,String rmNamespaceValue, String
addressingNamespaceValue) throws AxisFault {
this (rmNamespaceValue,addressingNamespaceValue);
- this.address = address;
+ this.epr = epr;
}
public String getNamespaceValue(){
return rmNamespaceValue;
}
- public Object fromOMElement(OMElement element) throws
OMException,SandeshaException {
+ public Object fromOMElement(OMElement element) throws
OMException,AxisFault {
OMElement acksToPart = element.getFirstChildWithName(new QName(
rmNamespaceValue,
Sandesha2Constants.WSRM_COMMON.ACKS_TO));
@@ -70,36 +71,33 @@
SandeshaMessageKeys.noAcksToPart,
element.toString()));
- address = new Address(addressingNamespaceValue);
- address.fromOMElement(acksToPart);
+ epr = EndpointReferenceHelper.fromOM (acksToPart);
return this;
}
- public OMElement toOMElement(OMElement element) throws OMException {
+ public OMElement toOMElement(OMElement element) throws
OMException,AxisFault {
- if (address == null)
+ if (epr == null)
throw new OMException(SandeshaMessageHelper.getMessage(
- SandeshaMessageKeys.cannotSetACksTo,
+ SandeshaMessageKeys.cannotSetAcksTo,
null));
OMFactory factory = element.getOMFactory();
- OMNamespace rmNamespace =
factory.createOMNamespace(rmNamespaceValue,Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
- OMElement acksToElement =
factory.createOMElement(Sandesha2Constants.WSRM_COMMON.ACKS_TO, rmNamespace);
+ QName acksTo = new QName
(rmNamespaceValue,Sandesha2Constants.WSRM_COMMON.ACKS_TO,
Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
+ OMElement endpointElement = EndpointReferenceHelper.toOM
(factory,epr, acksTo ,addressingNamespaceValue);
- address.toOMElement(acksToElement);
-
- element.addChild(acksToElement);
+ element.addChild(endpointElement);
return element;
}
- public Address getAddress() {
- return address;
+ public EndpointReference getEPR() {
+ return epr;
}
- public void setAddress(Address address) {
- this.address = address;
+ public void setAddress(EndpointReference epr) {
+ this.epr = epr;
}
public boolean isNamespaceSupported (String namespaceName) {
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java
(original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/Address.java
Tue Oct 24 03:00:05 2006
@@ -13,7 +13,6 @@
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.i18n.SandeshaMessageHelper;
import org.apache.sandesha2.i18n.SandeshaMessageKeys;
@@ -24,65 +23,61 @@
public class Address implements IOMRMElement {
- private EndpointReference epr = null;
+ private String address = null;
- private String namespaceValue = null;
+ private String rmNamespaceValue = null;
- public Address(String namespaceValue) {
- this.namespaceValue = namespaceValue;
- }
-
- public Address (EndpointReference epr,String namespaceValue) {
- this(namespaceValue);
- this.epr = epr;
+ public Address(String rmNamespaceValue) {
+ this.rmNamespaceValue = rmNamespaceValue;
}
public Object fromOMElement(OMElement element) throws OMException {
OMElement addressPart = element.getFirstChildWithName(new QName(
- namespaceValue,
Sandesha2Constants.WSA.ADDRESS));
+ rmNamespaceValue,
Sandesha2Constants.WSRM_COMMON.ADDRESS));
if (addressPart == null)
throw new OMException(SandeshaMessageHelper.getMessage(
SandeshaMessageKeys.cannotFindAddressElement,
element.toString()));
+
String addressText = addressPart.getText();
- if (addressText == null || addressText == "")
+ if (addressText == null || "".equals(addressText))
throw new OMException(
SandeshaMessageHelper.getMessage(
SandeshaMessageKeys.cannotFindAddressText,
element.toString()));
- epr = new EndpointReference(addressText);
+ this.address = addressText;
return this;
}
public String getNamespaceValue(){
- return namespaceValue;
+ return rmNamespaceValue;
}
public OMElement toOMElement(OMElement element) throws OMException {
- if (epr == null || epr.getAddress() == null || epr.getAddress()
== "")
+ if (address == null || "".equals(address))
throw new OMException(SandeshaMessageHelper.getMessage(
SandeshaMessageKeys.addressNotValid));
OMFactory factory = element.getOMFactory();
- OMNamespace addressingNamespace =
factory.createOMNamespace(namespaceValue,Sandesha2Constants.WSA.NS_PREFIX_ADDRESSING);
- OMElement addressElement =
factory.createOMElement(Sandesha2Constants.WSA.ADDRESS, addressingNamespace);
+ OMNamespace rmNamespace =
factory.createOMNamespace(rmNamespaceValue,Sandesha2Constants.WSRM_COMMON.NS_PREFIX_RM);
+ OMElement addressElement =
factory.createOMElement(Sandesha2Constants.WSRM_COMMON.ADDRESS, rmNamespace);
- addressElement.setText(epr.getAddress());
+ addressElement.setText(address);
element.addChild(addressElement);
return element;
}
- public EndpointReference getEpr() {
- return epr;
+ public String getAddress() {
+ return address;
}
- public void setEpr(EndpointReference epr) {
- this.epr = epr;
+ public void setAddress(String address) {
+ this.address = address;
}
public boolean isNamespaceSupported (String namespaceName) {
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequence.java
Tue Oct 24 03:00:05 2006
@@ -26,6 +26,7 @@
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axis2.AxisFault;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -72,7 +73,7 @@
return rmNamespaceValue;
}
- public Object fromOMElement(OMElement bodyElement) throws
OMException,SandeshaException {
+ public Object fromOMElement(OMElement bodyElement) throws
OMException,AxisFault {
OMElement createSequencePart = bodyElement
.getFirstChildWithName(new
QName(rmNamespaceValue,
@@ -89,6 +90,7 @@
Sandesha2Constants.WSRM_COMMON.SEQUENCE_OFFER));
if (offerPart != null) {
sequenceOffer = new SequenceOffer(rmNamespaceValue);
+
sequenceOffer.setAddressingNamespace(addressingNamespaceValue);
sequenceOffer.fromOMElement(createSequencePart);
}
@@ -107,7 +109,7 @@
return this;
}
- public OMElement toOMElement(OMElement bodyElement) throws OMException {
+ public OMElement toOMElement(OMElement bodyElement) throws OMException,
AxisFault {
if (bodyElement == null || !(bodyElement instanceof SOAPBody))
throw new OMException(SandeshaMessageHelper.getMessage(
@@ -159,7 +161,7 @@
return sequenceOffer;
}
- public void toSOAPEnvelope(SOAPEnvelope envelope) {
+ public void toSOAPEnvelope(SOAPEnvelope envelope) throws AxisFault {
SOAPBody body = envelope.getBody();
//detach if already exist.
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/CreateSequenceResponse.java
Tue Oct 24 03:00:05 2006
@@ -25,6 +25,7 @@
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.AxisFault;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -60,7 +61,7 @@
return rmNamespaceValue;
}
- public Object fromOMElement(OMElement bodyElement) throws
OMException,SandeshaException {
+ public Object fromOMElement(OMElement bodyElement) throws
OMException,AxisFault {
if (bodyElement == null || !(bodyElement instanceof SOAPBody))
throw new OMException(SandeshaMessageHelper.getMessage(
@@ -97,7 +98,7 @@
return this;
}
- public OMElement toOMElement(OMElement bodyElement) throws OMException {
+ public OMElement toOMElement(OMElement bodyElement) throws OMException,
AxisFault {
if (bodyElement == null || !(bodyElement instanceof SOAPBody))
throw new OMException(
@@ -161,7 +162,7 @@
this.expires = expires;
}
- public void toSOAPEnvelope(SOAPEnvelope envelope) {
+ public void toSOAPEnvelope(SOAPEnvelope envelope) throws AxisFault {
SOAPBody body = envelope.getBody();
//detach if already exist.
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMElement.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMElement.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMElement.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMElement.java
Tue Oct 24 03:00:05 2006
@@ -23,10 +23,11 @@
import org.apache.sandesha2.SandeshaException;
import org.apache.axiom.om.OMElement;
+import org.apache.axis2.AxisFault;
public interface IOMRMElement {
public String getNamespaceValue();
- public Object fromOMElement(OMElement element) throws SandeshaException
;
- public OMElement toOMElement(OMElement element) throws
SandeshaException ;
+ public Object fromOMElement(OMElement element) throws AxisFault ;
+ public OMElement toOMElement(OMElement element) throws AxisFault ;
public boolean isNamespaceSupported (String namespaceName);
}
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/IOMRMPart.java
Tue Oct 24 03:00:05 2006
@@ -19,6 +19,7 @@
import org.apache.sandesha2.SandeshaException;
import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.AxisFault;
/**
* This is the base interface for RM infoset objects that are added directly
so
@@ -26,5 +27,5 @@
*/
public interface IOMRMPart extends IOMRMElement {
- public void toSOAPEnvelope (SOAPEnvelope envelope) throws
SandeshaException;
+ public void toSOAPEnvelope (SOAPEnvelope envelope) throws AxisFault;
}
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/MakeConnection.java
Tue Oct 24 03:00:05 2006
@@ -24,6 +24,7 @@
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.AxisFault;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -59,7 +60,7 @@
toOMElement(body);
}
- public Object fromOMElement(OMElement makeConnectionElement) throws
OMException, SandeshaException {
+ public Object fromOMElement(OMElement makeConnectionElement) throws
OMException, AxisFault {
OMElement identifierElement =
makeConnectionElement.getFirstChildWithName(new QName(namespaceValue,
Sandesha2Constants.WSRM_COMMON.IDENTIFIER));
OMElement addressElement =
makeConnectionElement.getFirstChildWithName(new
QName(namespaceValue,Sandesha2Constants.WSA.ADDRESS));
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
Tue Oct 24 03:00:05 2006
@@ -28,6 +28,7 @@
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPHeader;
+import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.AddressingConstants;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
@@ -71,7 +72,7 @@
this.addressingNamespaceValue = addressingNamespace;
}
- public void fromSOAPEnvelope(SOAPEnvelope envelope, String action)
throws SandeshaException {
+ public void fromSOAPEnvelope(SOAPEnvelope envelope, String action)
throws AxisFault {
if (envelope == null)
throw new OMException(SandeshaMessageHelper.getMessage(
@@ -212,7 +213,7 @@
}
}
- public SOAPEnvelope toSOAPEnvelope(SOAPEnvelope envelope) throws
SandeshaException {
+ public SOAPEnvelope toSOAPEnvelope(SOAPEnvelope envelope) throws
AxisFault {
if (sequence != null) {
sequence.toOMElement(envelope.getHeader());
}
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java?view=diff&rev=467298&r1=467297&r2=467298
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/SequenceOffer.java
Tue Oct 24 03:00:05 2006
@@ -23,6 +23,8 @@
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -39,7 +41,11 @@
private Expires expires = null;
+ private Endpoint endpoint = null;
+
private String namespaceValue = null;
+
+ private String addressingNamespace = null;
public SequenceOffer(String namespaceValue) throws SandeshaException {
if (!isNamespaceSupported(namespaceValue))
@@ -55,7 +61,7 @@
}
public Object fromOMElement(OMElement createSequenceElement)
- throws OMException,SandeshaException {
+ throws OMException,AxisFault {
OMElement sequenceOfferPart = createSequenceElement
.getFirstChildWithName(new
QName(namespaceValue,Sandesha2Constants.WSRM_COMMON.SEQUENCE_OFFER));
@@ -73,12 +79,24 @@
expires = new Expires(namespaceValue);
expires.fromOMElement(sequenceOfferPart);
}
+
+ OMElement endpointPart = sequenceOfferPart
+ .getFirstChildWithName(new QName
(namespaceValue,Sandesha2Constants.WSRM_COMMON.ENDPOINT));
+ if (endpointPart != null) {
+ if (addressingNamespace==null) {
+ String message =
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.addressingNamespaceNotSet);
+ throw new SandeshaException (message);
+ }
+
+ endpoint = new Endpoint (namespaceValue,
addressingNamespace);
+ endpoint.fromOMElement (endpointPart);
+ }
return this;
}
public OMElement toOMElement(OMElement createSequenceElement)
- throws OMException {
+ throws OMException,AxisFault {
if (identifier == null)
throw new OMException(SandeshaMessageHelper.getMessage(
@@ -91,6 +109,17 @@
identifier.toOMElement(sequenceOfferElement);
+ if (endpoint!=null) {
+ endpoint.toOMElement(sequenceOfferElement);
+ } else {
+ if
(Sandesha2Constants.SPEC_2006_08.NS_URI.equals(namespaceValue)) {
+ String message =
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.elementMustForSpec,
+
Sandesha2Constants.WSRM_COMMON.ENDPOINT,
+
Sandesha2Constants.SPEC_2006_08.NS_URI);
+ throw new SandeshaException (message);
+ }
+ }
+
if (expires != null) {
expires.toOMElement(sequenceOfferElement);
}
@@ -108,6 +137,14 @@
this.identifier = identifier;
}
+ public Endpoint getEndpoint() {
+ return endpoint;
+ }
+
+ public void setEndpoint(Endpoint endpoint) {
+ this.endpoint = endpoint;
+ }
+
public boolean isNamespaceSupported (String namespaceName) {
if
(Sandesha2Constants.SPEC_2005_02.NS_URI.equals(namespaceName))
return true;
@@ -118,4 +155,12 @@
return false;
}
+ public String getAddressingNamespace() {
+ return addressingNamespace;
+ }
+
+ public void setAddressingNamespace(String addressingNamespace) {
+ this.addressingNamespace = addressingNamespace;
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]