Author: richard.opalka(a)jboss.com
Date: 2007-11-28 07:54:15 -0500 (Wed, 28 Nov 2007)
New Revision: 5131
Added:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMAddressingType.java
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/common/resources/closeSequenceResponse.xml
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/client/ClientImpl.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMConstant.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMSequenceImpl.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMProvider.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMSequence.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/oneway/RMOneWayTestCase.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/reqres/RMReqResTestCase.java
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/oneway/config/one-way-service-config.xml
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/reqres/config/req-res-service-config.xml
Log:
minor refactoring
Modified: stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/client/ClientImpl.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/client/ClientImpl.java 2007-11-28
12:50:40 UTC (rev 5130)
+++
stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/client/ClientImpl.java 2007-11-28
12:54:15 UTC (rev 5131)
@@ -71,9 +71,11 @@
import org.jboss.ws.extensions.addressing.AddressingClientUtil;
import org.jboss.ws.extensions.wsrm.RMConstant;
import org.jboss.ws.extensions.wsrm.RMSequenceImpl;
+import org.jboss.ws.extensions.wsrm.api.RMAddressingType;
import org.jboss.ws.extensions.wsrm.api.RMException;
import org.jboss.ws.extensions.wsrm.api.RMProvider;
import org.jboss.ws.extensions.wsrm.api.RMSequence;
+import org.jboss.ws.extensions.wsrm.api.RMSequenceType;
import org.jboss.ws.extensions.wsrm.spi.protocol.RMCreateSequenceResponse;
import org.jboss.ws.metadata.config.Configurable;
import org.jboss.ws.metadata.config.ConfigurationProvider;
@@ -486,7 +488,7 @@
// WS-RM support //
///////////////////
@SuppressWarnings("unchecked")
- public RMSequence createSequence(boolean addressableClient) throws RMException
+ public RMSequence createSequence(RMAddressingType addrType, RMSequenceType seqType)
throws RMException
{
this.getWSRMLock().lock();
try
@@ -501,9 +503,9 @@
String action = RMConstant.CREATE_SEQUENCE_WSA_ACTION;
URI backPort = null;
AddressingProperties addressingProps = null;
- if (addressableClient)
+ if (addrType == RMAddressingType.ADDRESSABLE)
{
- backPort = new
URI("http://localhost:8888/packports/1234567890-1234567890/1234567890-1234567890");
// TODO: use generator
+ backPort = new
URI("http://localhost:8888/temporary_listen_address/666"); // TODO: use
generator
addressingProps = AddressingClientUtil.createDefaultProps(action,
address);
addressingProps.setReplyTo(AddressingBuilder.getAddressingBuilder().newEndpointReference(backPort));
}
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMConstant.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMConstant.java 2007-11-28
12:50:40 UTC (rev 5130)
+++
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMConstant.java 2007-11-28
12:54:15 UTC (rev 5131)
@@ -31,6 +31,7 @@
// WS-Addressing related actions
public static final String CREATE_SEQUENCE_WSA_ACTION;
public static final String CLOSE_SEQUENCE_WSA_ACTION;
+ public static final String SEQUENCE_ACKNOWLEDGEMENT_WSA_ACTION;
public static final String TERMINATE_SEQUENCE_WSA_ACTION;
public static final Set<QName> PROTOCOL_OPERATION_QNAMES;
@@ -52,10 +53,12 @@
temp.add(constants.getCloseSequenceResponseQName());
temp.add(constants.getTerminateSequenceQName());
temp.add(constants.getTerminateSequenceResponseQName());
+ String namespaceURI = RMProvider.get().getConstants().getNamespaceURI();
PROTOCOL_OPERATION_QNAMES = Collections.unmodifiableSet(temp);
- CREATE_SEQUENCE_WSA_ACTION = RMProvider.get().getConstants().getNamespaceURI() +
"/CreateSequence";
- CLOSE_SEQUENCE_WSA_ACTION = RMProvider.get().getConstants().getNamespaceURI() +
"/CloseSequence";
- TERMINATE_SEQUENCE_WSA_ACTION = RMProvider.get().getConstants().getNamespaceURI() +
"/TerminateSequence";
+ CREATE_SEQUENCE_WSA_ACTION = namespaceURI + "/CreateSequence";
+ CLOSE_SEQUENCE_WSA_ACTION = namespaceURI + "/CloseSequence";
+ SEQUENCE_ACKNOWLEDGEMENT_WSA_ACTION = namespaceURI +
"/SequenceAcknowledgement";
+ TERMINATE_SEQUENCE_WSA_ACTION = namespaceURI + "/TerminateSequence";
}
private RMConstant()
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMSequenceImpl.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMSequenceImpl.java 2007-11-28
12:50:40 UTC (rev 5130)
+++
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMSequenceImpl.java 2007-11-28
12:54:15 UTC (rev 5131)
@@ -42,6 +42,7 @@
import org.jboss.ws.extensions.addressing.AddressingClientUtil;
import org.jboss.ws.extensions.wsrm.api.RMException;
import org.jboss.ws.extensions.wsrm.api.RMSequence;
+import org.jboss.ws.extensions.wsrm.spi.RMConstants;
import org.jboss.ws.extensions.wsrm.spi.RMProvider;
import org.jboss.ws.extensions.wsrm.transport.RMUnassignedMessageListener;
@@ -56,7 +57,9 @@
@SuppressWarnings("unchecked")
public final class RMSequenceImpl implements RMSequence, RMUnassignedMessageListener
{
- private static final Logger LOGGER = Logger.getLogger(RMSequenceImpl.class);
+ private static final Logger logger = Logger.getLogger(RMSequenceImpl.class);
+ private static final RMConstants wsrmConstants = RMProvider.get().getConstants();
+
private final String incomingSequenceId;
private final String outgoingSequenceId;
private final URI backPort;
@@ -77,7 +80,7 @@
{
// we can't use objectLock in the method - possible deadlock
this.countOfUnassignedMessagesAvailable.addAndGet(1);
- LOGGER.debug("Unassigned message available in callback handler");
+ logger.debug("Unassigned message available in callback handler");
}
public RMSequenceImpl(ClientImpl client, String outId, String inId, URI backPort)
@@ -127,11 +130,8 @@
this.objectLock.unlock();
}
}
-
- /**
- * Sets up terminated flag to true.
- */
- public final void terminate() throws RMException
+
+ public final void close() throws RMException
{
this.objectLock.lock();
try
@@ -144,47 +144,12 @@
client.getWSRMLock().lock();
try
{
- try
- {
- // set up addressing properties
- String address = client.getEndpointMetaData().getEndpointAddress();
- String action = RMConstant.TERMINATE_SEQUENCE_WSA_ACTION;
- AddressingProperties props = null;
- if (this.client.getWSRMSequence().getBackPort() != null)
- {
- props = AddressingClientUtil.createDefaultProps(action, address);
-
props.setReplyTo(AddressingBuilder.getAddressingBuilder().newEndpointReference(this.client.getWSRMSequence().getBackPort()));
- }
- else
- {
- props = AddressingClientUtil.createAnonymousProps(action, address);
- }
- // prepare WS-RM request context
- QName terminateSequenceQN =
RMProvider.get().getConstants().getTerminateSequenceQName();
- Map rmRequestContext = new HashMap();
- List outMsgs = new LinkedList();
- outMsgs.add(terminateSequenceQN);
- rmRequestContext.put(RMConstant.PROTOCOL_MESSAGES, outMsgs);
- rmRequestContext.put(RMConstant.SEQUENCE_REFERENCE,
client.getWSRMSequence());
- // set up method invocation context
- Map requestContext = client.getBindingProvider().getRequestContext();
- requestContext.put(JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES_OUTBOUND,
props);
- requestContext.put(RMConstant.REQUEST_CONTEXT, rmRequestContext);
- // call stub method
- this.client.invoke(terminateSequenceQN, new Object[] {},
client.getBindingProvider().getResponseContext());
- RMSequenceManager.getInstance().unregister(this);
- }
- catch (Exception e)
- {
- throw new RMException("Unable to terminate WSRM sequence", e);
- }
- finally
- {
- this.client.setWSRMSequence(null); // TODO: do not remove this
- }
+ sendCloseMessage();
+ sendTerminateMessage();
}
finally
{
+ this.client.setWSRMSequence(null); // TODO: do not remove this
this.client.getWSRMLock().unlock();
}
}
@@ -194,6 +159,60 @@
}
}
+ /**
+ * Sets up terminated flag to true.
+ */
+ public final void sendMessage(String action, QName operationQName) throws RMException
+ {
+ try
+ {
+ // set up addressing properties
+ String address = client.getEndpointMetaData().getEndpointAddress();
+ AddressingProperties props = null;
+ if (this.client.getWSRMSequence().getBackPort() != null)
+ {
+ props = AddressingClientUtil.createDefaultProps(action, address);
+
props.setReplyTo(AddressingBuilder.getAddressingBuilder().newEndpointReference(this.client.getWSRMSequence().getBackPort()));
+ }
+ else
+ {
+ props = AddressingClientUtil.createAnonymousProps(action, address);
+ }
+ // prepare WS-RM request context
+ Map rmRequestContext = new HashMap();
+ List outMsgs = new LinkedList();
+ outMsgs.add(operationQName);
+ rmRequestContext.put(RMConstant.PROTOCOL_MESSAGES, outMsgs);
+ rmRequestContext.put(RMConstant.SEQUENCE_REFERENCE, this);
+ // set up method invocation context
+ Map requestContext = client.getBindingProvider().getRequestContext();
+ requestContext.put(JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES_OUTBOUND,
props);
+ requestContext.put(RMConstant.REQUEST_CONTEXT, rmRequestContext);
+ // call stub method
+ this.client.invoke(operationQName, new Object[] {},
client.getBindingProvider().getResponseContext());
+ RMSequenceManager.getInstance().unregister(this);
+ }
+ catch (Exception e)
+ {
+ throw new RMException("Unable to terminate WSRM sequence", e);
+ }
+ }
+
+ private void sendCloseMessage()
+ {
+ sendMessage(RMConstant.CLOSE_SEQUENCE_WSA_ACTION,
wsrmConstants.getCloseSequenceQName());
+ }
+
+ private void sendTerminateMessage()
+ {
+ sendMessage(RMConstant.TERMINATE_SEQUENCE_WSA_ACTION,
wsrmConstants.getTerminateSequenceQName());
+ }
+
+ private void sendSequenceAcknowledgementMessage()
+ {
+ sendMessage(RMConstant.SEQUENCE_ACKNOWLEDGEMENT_WSA_ACTION,
wsrmConstants.getSequenceAcknowledgementQName());
+ }
+
public final boolean isCompleted()
{
return true;
@@ -214,7 +233,7 @@
return incomingSequenceId;
}
- public final boolean isTerminated()
+ public final boolean isClosed()
{
this.objectLock.lock();
try
Added:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMAddressingType.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMAddressingType.java
(rev 0)
+++
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMAddressingType.java 2007-11-28
12:54:15 UTC (rev 5131)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.api;
+
+/**
+ * This enumeration specifies client type that will be used for WS-RM exchange
+ *
+ * @author richard.opalka(a)jboss.com
+ *
+ * @since Nov 28, 2007
+ */
+public enum RMAddressingType
+{
+ /**
+ * Specifies that client is anonymous
+ */
+ ANONYMOUS,
+ /**
+ * Specifies that client is addressable
+ */
+ ADDRESSABLE
+}
Property changes on:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMAddressingType.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMProvider.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMProvider.java 2007-11-28
12:50:40 UTC (rev 5130)
+++
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMProvider.java 2007-11-28
12:54:15 UTC (rev 5131)
@@ -36,5 +36,5 @@
* @return created sequence
* @throws RMException
*/
- RMSequence createSequence(boolean addressableClient) throws RMException;
+ RMSequence createSequence(RMAddressingType addrType, RMSequenceType seqType) throws
RMException;
}
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMSequence.java
===================================================================
---
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMSequence.java 2007-11-28
12:50:40 UTC (rev 5130)
+++
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/api/RMSequence.java 2007-11-28
12:54:15 UTC (rev 5131)
@@ -29,8 +29,8 @@
String getInboundId() throws RMException;
void discard() throws RMException;
boolean isDiscarded() throws RMException;
- void terminate() throws RMException;
- boolean isTerminated() throws RMException;
+ void close() throws RMException;
+ boolean isClosed() throws RMException;
boolean isCompleted() throws RMException;
boolean isCompleted(int timeAmount, TimeUnit timeUnit) throws RMException;
}
Modified:
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/oneway/RMOneWayTestCase.java
===================================================================
---
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/oneway/RMOneWayTestCase.java 2007-11-28
12:50:40 UTC (rev 5130)
+++
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/oneway/RMOneWayTestCase.java 2007-11-28
12:54:15 UTC (rev 5131)
@@ -35,8 +35,10 @@
import junit.framework.Test;
+import org.jboss.ws.extensions.wsrm.api.RMAddressingType;
import org.jboss.ws.extensions.wsrm.api.RMProvider;
import org.jboss.ws.extensions.wsrm.api.RMSequence;
+import org.jboss.ws.extensions.wsrm.api.RMSequenceType;
import org.jboss.wsf.test.JBossWSTest;
import org.jboss.wsf.test.JBossWSTestSetup;
import org.jboss.test.ws.jaxws.wsrm.OneWayServiceIface;
@@ -96,7 +98,7 @@
if (emulatorOn)
{
RMProvider wsrmProvider = (RMProvider)proxy;
- sequence = wsrmProvider.createSequence(addressable);
+ sequence = wsrmProvider.createSequence(getAddressingType(),
RMSequenceType.SIMPLEX);
System.out.println("Created sequence with id=" +
sequence.getOutboundId());
}
setAddrProps(proxy, "http://useless/action1", serviceURL);
@@ -110,8 +112,14 @@
if (!sequence.isCompleted(1000, TimeUnit.MILLISECONDS)) {
fail("Sequence not completed within specified time amount");
} else {
- sequence.terminate();
+ sequence.close();
}
}
}
+
+ private RMAddressingType getAddressingType()
+ {
+ return addressable ? RMAddressingType.ADDRESSABLE : RMAddressingType.ANONYMOUS;
+ }
+
}
Modified:
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/reqres/RMReqResTestCase.java
===================================================================
---
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/reqres/RMReqResTestCase.java 2007-11-28
12:50:40 UTC (rev 5130)
+++
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/reqres/RMReqResTestCase.java 2007-11-28
12:54:15 UTC (rev 5131)
@@ -42,8 +42,10 @@
import org.jboss.wsf.test.JBossWSTestSetup;
import org.jboss.test.ws.jaxws.wsrm.ReqResServiceIface;
+import org.jboss.ws.extensions.wsrm.api.RMAddressingType;
import org.jboss.ws.extensions.wsrm.api.RMProvider;
import org.jboss.ws.extensions.wsrm.api.RMSequence;
+import org.jboss.ws.extensions.wsrm.api.RMSequenceType;
/**
* Reliable JBoss WebService client invoking req/res methods
@@ -179,7 +181,7 @@
if (emulatorOn)
{
RMProvider wsrmProvider = (RMProvider)proxyObject;
- sequence = wsrmProvider.createSequence(addressable);
+ sequence = wsrmProvider.createSequence(getAddressingType(),
RMSequenceType.DUPLEX);
System.out.println("Created sequence with outbound id=" +
sequence.getOutboundId());
System.out.println("Created sequence with inbound id=" +
sequence.getInboundId());
}
@@ -195,9 +197,14 @@
sequence.discard();
fail("Sequence not completed within specified time amount");
} else {
- sequence.terminate();
+ sequence.close();
}
}
}
+ private RMAddressingType getAddressingType()
+ {
+ return addressable ? RMAddressingType.ADDRESSABLE : RMAddressingType.ANONYMOUS;
+ }
+
}
Added:
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/common/resources/closeSequenceResponse.xml
===================================================================
---
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/common/resources/closeSequenceResponse.xml
(rev 0)
+++
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/common/resources/closeSequenceResponse.xml 2007-11-28
12:54:15 UTC (rev 5131)
@@ -0,0 +1,15 @@
+<env:Envelope
+
xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'
+
xmlns:wsrm11='http://docs.oasis-open.org/ws-rx/wsrm/200702'
+
xmlns:wsa='http://www.w3.org/2005/08/addressing'>
+ <env:Header>
+ <wsa:To env:mustUnderstand="1">${res.wsa.to}</wsa:To>
+ <wsa:RelatesTo>${res.wsa.relatesto}</wsa:RelatesTo>
+ <wsa:Action
env:mustUnderstand="1">${res.wsa.action}</wsa:Action>
+ </env:Header>
+ <env:Body>
+ <wsrm11:CloseSequenceResponse>
+ <wsrm11:Identifier>${res.wsrm.sequenceid}</wsrm11:Identifier>
+ </wsrm11:CloseSequenceResponse>
+ </env:Body>
+</env:Envelope>
Property changes on:
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/common/resources/closeSequenceResponse.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified:
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/oneway/config/one-way-service-config.xml
===================================================================
---
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/oneway/config/one-way-service-config.xml 2007-11-28
12:50:40 UTC (rev 5130)
+++
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/oneway/config/one-way-service-config.xml 2007-11-28
12:54:15 UTC (rev 5131)
@@ -51,6 +51,24 @@
</response>
</view>
+ <view id="close.sequence">
+ <request httpMethod="POST" pathInfo="/OneWayService">
+ <contains>
+ <node
name="|{${soap}}Envelope|{${soap}}Body|{${wsrm}}CloseSequence"/>
+ </contains>
+ <set property="req.wsa.messageid"
value="|{${soap}}Envelope|{${soap}}Header|{${wsa}}MessageID"/>
+ <set property="req.wsa.action"
value="|{${soap}}Envelope|{${soap}}Header|{${wsa}}Action"/>
+ <set property="req.wsa.replyto"
value="|{${soap}}Envelope|{${soap}}Header|{${wsa}}ReplyTo|{${wsa}}Address"/>
+ <set property="req.wsrm.sequenceid"
value="|{${soap}}Envelope|{${soap}}Body|{${wsrm}}CloseSequence|{${wsrm}}Identifier"/>
+ </request>
+ <response contentType="text/xml" statusCode="200"
resource="resources/closeSequenceResponse.xml">
+ <set property="res.wsa.to"
value="${req.wsa.replyto}"/>
+ <set property="res.wsa.action"
value="${req.wsa.action}Response"/>
+ <set property="res.wsa.relatesto"
value="${req.wsa.messageid}"/>
+ <set property="res.wsrm.sequenceid"
value="${req.wsrm.sequenceid}"/>
+ </response>
+ </view>
+
<view id="terminate.sequence">
<request httpMethod="POST" pathInfo="/OneWayService">
<contains>
@@ -63,7 +81,7 @@
</request>
<response contentType="text/xml" statusCode="200"
resource="resources/terminateSequenceResponse.xml">
<set property="res.wsa.to"
value="${req.wsa.replyto}"/>
- <set property="res.wsa.action"
value="http://docs.oasis-open.org/ws-rx/wsrm/200702/TerminateSequenc...
+ <set property="res.wsa.action"
value="${req.wsa.action}Response"/>
<set property="res.wsa.relatesto"
value="${req.wsa.messageid}"/>
<set property="res.wsrm.sequenceid"
value="${req.wsrm.sequenceid}"/>
</response>
Modified:
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/reqres/config/req-res-service-config.xml
===================================================================
---
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/reqres/config/req-res-service-config.xml 2007-11-28
12:50:40 UTC (rev 5130)
+++
stack/native/trunk/src/test/resources/jaxws/wsrm/emulator/reqres/config/req-res-service-config.xml 2007-11-28
12:54:15 UTC (rev 5131)
@@ -51,6 +51,24 @@
</response>
</view>
+ <view id="close.sequence">
+ <request httpMethod="POST" pathInfo="/ReqResService">
+ <contains>
+ <node
name="|{${soap}}Envelope|{${soap}}Body|{${wsrm}}CloseSequence"/>
+ </contains>
+ <set property="req.wsa.messageid"
value="|{${soap}}Envelope|{${soap}}Header|{${wsa}}MessageID"/>
+ <set property="req.wsa.action"
value="|{${soap}}Envelope|{${soap}}Header|{${wsa}}Action"/>
+ <set property="req.wsa.replyto"
value="|{${soap}}Envelope|{${soap}}Header|{${wsa}}ReplyTo|{${wsa}}Address"/>
+ <set property="req.wsrm.sequenceid"
value="|{${soap}}Envelope|{${soap}}Body|{${wsrm}}CloseSequence|{${wsrm}}Identifier"/>
+ </request>
+ <response contentType="text/xml" statusCode="200"
resource="resources/closeSequenceResponse.xml">
+ <set property="res.wsa.to"
value="${req.wsa.replyto}"/>
+ <set property="res.wsa.action"
value="${req.wsa.action}Response"/>
+ <set property="res.wsa.relatesto"
value="${req.wsa.messageid}"/>
+ <set property="res.wsrm.sequenceid"
value="${req.wsrm.sequenceid}"/>
+ </response>
+ </view>
+
<view id="terminate.sequence">
<request httpMethod="POST" pathInfo="/ReqResService">
<contains>
@@ -63,7 +81,7 @@
</request>
<response contentType="text/xml" statusCode="200"
resource="resources/terminateSequenceResponse.xml">
<set property="res.wsa.to"
value="${req.wsa.replyto}"/>
- <set property="res.wsa.action"
value="http://docs.oasis-open.org/ws-rx/wsrm/200702/TerminateSequenc...
+ <set property="res.wsa.action"
value="${req.wsa.action}Response"/>
<set property="res.wsa.relatesto"
value="${req.wsa.messageid}"/>
<set property="res.wsrm.sequenceid"
value="${req.wsrm.sequenceid}"/>
</response>