You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hise-commits@incubator.apache.org by rr...@apache.org on 2010/01/25 11:06:13 UTC
svn commit: r902778 - in /incubator/hise/trunk:
hise-services/src/main/java/org/apache/hise/engine/
hise-services/src/main/java/org/apache/hise/engine/jaxws/
hise-services/src/main/java/org/apache/hise/runtime/
hise-services/src/test/java/org/apache/hi...
Author: rr
Date: Mon Jan 25 11:06:12 2010
New Revision: 902778
URL: http://svn.apache.org/viewvc?rev=902778&view=rev
Log:
HISE-17: Security auth is no longer required in approve
Added:
incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/HISEEngineTest.java (with props)
Modified:
incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java
incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/HISEJaxWSService.java
incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/TaskEvaluator.java
incubator/hise/trunk/hise-test-example/src/main/resources/testHtd1-hise-dd.xml
incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml
Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java?rev=902778&r1=902777&r2=902778&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java Mon Jan 25 11:06:12 2010
@@ -20,6 +20,7 @@
package org.apache.hise.engine;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.xml.namespace.QName;
@@ -36,6 +37,7 @@
import org.apache.hise.lang.TaskDefinition;
import org.apache.hise.runtime.Task;
import org.apache.hise.utils.DOMUtils;
+import org.apache.hise.utils.XQueryEvaluator;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -114,7 +116,16 @@
return n;
}
- public Node receive(QName portType, String operation, Element body, String createdBy, Node requestHeader) {
+ public static String fetchCreatedBy(Node requestHeader) {
+ log.debug("header " + DOMUtils.domToString(requestHeader));
+ XQueryEvaluator e = new XQueryEvaluator();
+ List r = e.evaluateExpression("declare namespace htd='http://www.example.org/WS-HT'; xs:string(*/htd:initiator)", requestHeader);
+ return r.size() == 1 ? (String) r.get(0) : "";
+ }
+
+ public Node receive(QName portType, String operation, Element body, Node requestHeader) {
+ String createdBy = fetchCreatedBy(requestHeader);
+
QName taskName = getTaskName(portType, operation);
assert(taskName != null);
log.debug("routed " + portType + " " + operation + " -> " + taskName);
Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/HISEJaxWSService.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/HISEJaxWSService.java?rev=902778&r1=902777&r2=902778&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/HISEJaxWSService.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/HISEJaxWSService.java Mon Jan 25 11:06:12 2010
@@ -96,7 +96,7 @@
Element body = request.getSOAPBody();
__log.debug("invoking " + request + " operation:" + operation + " portType:" + portType + " operation2:" + operation2);
- Node approveResponseHeader = hiseEngine.receive(portType, operation.getLocalPart(), body, context.getUserPrincipal().getName(), request.getSOAPHeader());
+ Node approveResponseHeader = hiseEngine.receive(portType, operation.getLocalPart(), body, request.getSOAPHeader());
SOAPMessage m = messageFactory.createMessage();
Document doc = m.getSOAPHeader().getOwnerDocument();
Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/TaskEvaluator.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/TaskEvaluator.java?rev=902778&r1=902777&r2=902778&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/TaskEvaluator.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/TaskEvaluator.java Mon Jan 25 11:06:12 2010
@@ -156,7 +156,7 @@
public Node evaluateApproveResponseHeader() {
XQueryEvaluator evaluator = buildQueryEvaluator();
- return (Node) evaluator.evaluateExpression("<htd:taskId xmlns:htd=\"xmlns:htd=http://www.example.org/WS-HT\">{$taskId}</htd:taskId>", null).get(0);
+ return (Node) evaluator.evaluateExpression("<htd:taskId xmlns:htd=\"http://www.example.org/WS-HT\">{$taskId}</htd:taskId>", null).get(0);
}
Added: incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/HISEEngineTest.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/HISEEngineTest.java?rev=902778&view=auto
==============================================================================
--- incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/HISEEngineTest.java (added)
+++ incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/HISEEngineTest.java Mon Jan 25 11:06:12 2010
@@ -0,0 +1,15 @@
+package org.apache.hise;
+
+import junit.framework.Assert;
+
+import org.apache.hise.engine.HISEEngine;
+import org.apache.hise.utils.DOMUtils;
+import org.junit.Test;
+
+public class HISEEngineTest {
+ @Test
+ public void testEval2() throws Exception {
+ String r = HISEEngine.fetchCreatedBy(DOMUtils.parse(getClass().getResourceAsStream("/approveHeader.xml")));
+ Assert.assertEquals("soapui", r);
+ }
+}
Propchange: incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/HISEEngineTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/hise/trunk/hise-test-example/src/main/resources/testHtd1-hise-dd.xml
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-test-example/src/main/resources/testHtd1-hise-dd.xml?rev=902778&r1=902777&r2=902778&view=diff
==============================================================================
--- incubator/hise/trunk/hise-test-example/src/main/resources/testHtd1-hise-dd.xml (original)
+++ incubator/hise/trunk/hise-test-example/src/main/resources/testHtd1-hise-dd.xml Mon Jan 25 11:06:12 2010
@@ -39,7 +39,6 @@
<jaxws:handlers>
<ref bean="transactionHandler"/>
</jaxws:handlers>
- -->
<jaxws:inInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
@@ -53,6 +52,7 @@
</constructor-arg>
</bean>
</jaxws:inInterceptors>
+ -->
</jaxws:endpoint>
<bean id="hiseJaxWSSender1" class="org.apache.hise.engine.jaxws.HISEJaxWSClient" init-method="init">
Modified: incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml?rev=902778&r1=902777&r2=902778&view=diff
==============================================================================
--- incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml (original)
+++ incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml Mon Jan 25 11:06:12 2010
@@ -3299,8 +3299,10 @@
</xsd:getMyTasks>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:assertion type="XQuery Match"><con:configuration><path>declare namespace htd = 'http://www.example.org/WS-HT/api/xsd';
-count(*/*/htd:getMyTasksResponse)</path><content><xml-fragment>1</xml-fragment></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password><con:domain>abc</con:domain></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getMyTasksRequest"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task lifecycle" searchProperties="true" id="840e871f-2cc1-48be-83b5-97566a7b978b"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>ClaimsHandlingBinding</con:interface><con:operation>ap
prove</con:operation><con:request name="approve - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest" useWsAddressing="true"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/ClaimsHandlingService/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
- <soapenv:Header/>
+count(*/*/htd:getMyTasksResponse)</path><content><xml-fragment>1</xml-fragment></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password><con:domain>abc</con:domain></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getMyTasksRequest"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task lifecycle" searchProperties="true" id="840e871f-2cc1-48be-83b5-97566a7b978b"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>ClaimsHandlingBinding</con:interface><con:operation>ap
prove</con:operation><con:request name="approve - Request 1" outgoingWss="" incomingWss="" useWsAddressing="true"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/ClaimsHandlingService/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
+ <soapenv:Header>
+ <htd:initiator xmlns:htd="http://www.example.org/WS-HT">soapui</htd:initiator>
+ </soapenv:Header>
<soapenv:Body>
<cla:approve>
<ClaimApprovalRequest>
@@ -3316,7 +3318,7 @@
</ClaimApprovalRequest>
</cla:approve>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user2</con:username><con:password>user2pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8082/ClaimsResponseService/" addDefaultTo="true"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>1651</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:type="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfers
setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath><a>{*/*/*/text()}</a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="start - not existing"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>start</con:operation><con:request name="start - not existing" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user2</con:username><con:password>user2pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8082/ClaimsResponseService/" addDefaultTo="true"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>255852</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:type="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfe
rs setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath><a>{*/*/*/text()}</a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="start - not existing"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>start</con:operation><con:request name="start - not existing" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelop
e xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
<soapenv:Header/>
<soapenv:Body>
<xsd:start>
@@ -3364,7 +3366,7 @@
<soapenv:Body>
<cla:resolveResponse/>
</soapenv:Body>
-</soapenv:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:response><con:assertion type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:assertion type="XQuery Match"><con:configuration><path><a>{*/*/*/*/text()}</a></path><content><a>123true</a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:config></con:testStep><con:loadTest name="LoadTest 1"><con:settings/><con:threadCount>5</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>60</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type><con:config><testDelay>0</testDelay><randomFactor>0.5</randomFactor
></con:config></con:loadStrategy><con:assertion type="Step Status" name="Step Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval></con:loadTest><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task lifecycle - fault" searchProperties="true" id="2a5f518e-5583-46a8-b552-8332a0dbfeb0"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>ClaimsHandlingBinding</con:interface><con:operation>approve</con:operation><con:request name="approve - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest" useWsAddressing="true"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/ClaimsHandlingService/
</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
+</soapenv:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:response><con:assertion type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:assertion type="XQuery Match"><con:configuration><path><a>{*/*/*/*/text()}</a></path><content><a>123true</a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:config></con:testStep><con:loadTest name="LoadTest 1"><con:settings/><con:threadCount>5</con:threadCount><con:startDelay>0</con:startDelay><con:sampleInterval>250</con:sampleInterval><con:calculateTPSOnTimePassed>true</con:calculateTPSOnTimePassed><con:resetStatisticsOnThreadCountChange>true</con:resetStatisticsOnThreadCountChange><con:historyLimit>-1</con:historyLimit><con:testLimit>60</con:testLimit><con:limitType>TIME</con:limitType><con:loadStrategy><con:type>Simple</con:type><con:config><testDelay>0</testDelay><randomFactor>0.5</randomFactor
></con:config></con:loadStrategy><con:assertion type="Step Status" name="Step Status"/><con:maxAssertionErrors>100</con:maxAssertionErrors><con:cancelExcessiveThreads>true</con:cancelExcessiveThreads><con:strategyInterval>500</con:strategyInterval></con:loadTest><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task lifecycle - fault" searchProperties="true" id="2a5f518e-5583-46a8-b552-8332a0dbfeb0"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>ClaimsHandlingBinding</con:interface><con:operation>approve</con:operation><con:request name="approve - Request 1" outgoingWss="" incomingWss="" useWsAddressing="true"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/ClaimsHandlingService/</con:endpoint><con:request><![CD
ATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
<soapenv:Header/>
<soapenv:Body>
<cla:approve>
@@ -3381,7 +3383,7 @@
</ClaimApprovalRequest>
</cla:approve>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8086/ClaimsResponseService/" addDefaultTo="true"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>1652</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:type="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfers
setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath><a>{*/*/*/text()}</a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="start"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>start</con:operation><con:request name="start" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.
xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8086/ClaimsResponseService/" addDefaultTo="true"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>255853</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:type="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfe
rs setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath><a>{*/*/*/text()}</a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="start"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>start</con:operation><con:request name="start" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schema
s.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
<soapenv:Header/>
<soapenv:Body>
<xsd:start>
@@ -3402,7 +3404,7 @@
<soapenv:Body>
<cla:resolveResponse/>
</soapenv:Body>
-</soapenv:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:response><con:assertion type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:assertion type="XQuery Match"><con:configuration><path><a>{*/*/*/*/text()}</a></path><content><a>1234false</a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:config></con:testStep><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task lifecycle - forward" searchProperties="true" id="c0469a7c-d838-429d-aac8-0edde340f414"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>ClaimsHandlingBinding</con:interface><con:operation>approve</con:operation><con:request name="approve - Requ
est 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest" useWsAddressing="true"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/ClaimsHandlingService/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
+</soapenv:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:response><con:assertion type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:assertion type="XQuery Match"><con:configuration><path><a>{*/*/*/*/text()}</a></path><content><a>1234false</a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion></con:config></con:testStep><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task lifecycle - forward" searchProperties="true" id="c0469a7c-d838-429d-aac8-0edde340f414"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>ClaimsHandlingBinding</con:interface><con:operation>approve</con:operation><con:request name="approve - Requ
est 1" outgoingWss="" incomingWss="" useWsAddressing="true"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/ClaimsHandlingService/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
<soapenv:Header/>
<soapenv:Body>
<cla:approve>
@@ -3419,7 +3421,7 @@
</ClaimApprovalRequest>
</cla:approve>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8086/ClaimsResponseService/" addDefaultTo="true"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>1653</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:type="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfers
setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath><a>{*/*/*/text()}</a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="forward - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>forward</con:operation><con:request name="forward - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordText"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xm
lns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd" xmlns:ws="http://www.example.org/WS-HT">
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8086/ClaimsResponseService/" addDefaultTo="true"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>255854</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:type="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfe
rs setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath><a>{*/*/*/text()}</a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="forward - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>forward</con:operation><con:request name="forward - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordText"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd" xmlns:ws="http://www.example.org/WS-HT">
<soapenv:Header/>
<soapenv:Body>
<xsd:forward>
@@ -3438,7 +3440,7 @@
<xsd:identifier>${Properties#tid}</xsd:identifier>
</xsd:getTaskInfo>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path><a xmlns:ns3="http://www.example.org/WS-HT/api">{*/*/*/*/ns3:actualOwner/text()}</a></path><content><a xmlns:ns3="http://www.example.org/WS-HT/api">user2</a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task suspendUntil" searchProperties="true" id="73965c5d-b671-4a93-9c05-5e9e1dd9ef5e"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><
con:interface>ClaimsHandlingBinding</con:interface><con:operation>approve</con:operation><con:request name="approve - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest" useWsAddressing="true"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/ClaimsHandlingService/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path><a xmlns:ns3="http://www.example.org/WS-HT/api">{*/*/*/*/ns3:actualOwner/text()}</a></path><content><a xmlns:ns3="http://www.example.org/WS-HT/api">user2</a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task suspendUntil" searchProperties="true" id="73965c5d-b671-4a93-9c05-5e9e1dd9ef5e"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><
con:interface>ClaimsHandlingBinding</con:interface><con:operation>approve</con:operation><con:request name="approve - Request 1" outgoingWss="" incomingWss="" useWsAddressing="true"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/ClaimsHandlingService/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
<soapenv:Header/>
<soapenv:Body>
<cla:approve>
@@ -3455,7 +3457,7 @@
</ClaimApprovalRequest>
</cla:approve>
</soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8086/ClaimsResponseService/" addDefaultTo="true"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>1654</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:type="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfers
setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath><a>{*/*/*/text()}</a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="suspendUntil - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>suspendUntil</con:operation><con:request name="suspendUntil - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordText"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/taskOperations/</con:endpoint><con:request><![CDATA[<soap
env:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8086/ClaimsResponseService/" addDefaultTo="true"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>255855</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:type="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfe
rs setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath><a>{*/*/*/text()}</a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="suspendUntil - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>suspendUntil</con:operation><con:request name="suspendUntil - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordText"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/taskOperations/</con:endpoint><con:request><![CDATA[<so
apenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
<soapenv:Header/>
<soapenv:Body>
<xsd:suspendUntil>