incubator-hise-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r.@apache.org
Subject svn commit: r980507 - in /incubator/hise/trunk: hise-services/src/main/java/org/apache/hise/engine/ hise-services/src/main/java/org/apache/hise/runtime/ hise-services/src/test/java/org/apache/hise/ hise-test-example-osgi/src/main/resources/ itest/
Date Thu, 29 Jul 2010 16:57:00 GMT
Author: rr
Date: Thu Jul 29 16:57:00 2010
New Revision: 980507

URL: http://svn.apache.org/viewvc?rev=980507&view=rev
Log:
HISE-18: Implement conditions evaluation inside escalations (Thanks to Michał Więcław)

Modified:
    incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java
    incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/DeadlineController.java
    incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java
    incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskEvaluatorTest.java
    incubator/hise/trunk/hise-test-example-osgi/src/main/resources/testHtd1.xml
    incubator/hise/trunk/itest/hise-soapui-project.xml

Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java?rev=980507&r1=980506&r2=980507&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java
(original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java
Thu Jul 29 16:57:00 2010
@@ -190,8 +190,9 @@ public class HISEEngineImpl implements H
     public void executeJob(Job job) {
         Task t = Task.load(this, job.getTask().getId());
         try {
-            t.setCurrentJob(job);
+            t.setCurrentJob(job);           
             t.getClass().getMethod(job.getAction() + "JobAction").invoke(t);
+            
         } catch (Exception e) {
             throw new RuntimeException("timer job failed", e);
         }

Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/DeadlineController.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/DeadlineController.java?rev=980507&r1=980506&r2=980507&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/DeadlineController.java
(original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/DeadlineController.java
Thu Jul 29 16:57:00 2010
@@ -24,19 +24,19 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hise.dao.GenericHumanRole;
 import org.apache.hise.dao.Job;
-import org.apache.hise.dao.Message;
 import org.apache.hise.dao.TaskOrgEntity;
 import org.apache.hise.dao.Task.Status;
+import org.apache.hise.lang.xsd.htd.TBooleanExpr;
 import org.apache.hise.lang.xsd.htd.TDeadline;
 import org.apache.hise.lang.xsd.htd.TDeadlines;
 import org.apache.hise.lang.xsd.htd.TEscalation;
 import org.apache.hise.runtime.TaskEvaluator.EscalationResult;
-import org.apache.hise.utils.DOMUtils;
 import org.w3c.dom.Node;
 
 public class DeadlineController implements TaskStateListener {
@@ -103,7 +103,8 @@ public class DeadlineController implemen
         EscalationResult e = task.getTaskEvaluator().findEscalation(deadline.getDetails());
         if (e == null) {
             __log.warn("Can't find escalation " + deadline.getDetails() + " in task definition
" + task);
-        } else {
+        } else if(checkEscalationCondition(e.escalation.getCondition())){
+        	
             Map<String, Node> msg = task.getTaskEvaluator().evaluateToParts(e.escalation.getToParts().size()
== 0 ? null : e.escalation.getToParts().get(0));
             
             if (e.escalation.getReassignment() != null) {
@@ -112,10 +113,28 @@ public class DeadlineController implemen
                 task.forward(result);
             } else if (e.escalation.getLocalNotification() != null) {
                 Node request = msg.get("request");
+               
                 task.getHiseEngine().receiveNotification(e.escalation.getLocalNotification().getReference(),
request);
             } else {
                 throw new NotImplementedException();
             }
+        }else{
+        	__log.debug("EscalationCondition not satisfy for escalation: " + deadline.getDetails()+"
in task definition " + task);
         }
     }
+    
+    private boolean checkEscalationCondition(TBooleanExpr booleanExpr){
+    	if(booleanExpr == null) return true;
+    	
+    	List<Object> content = booleanExpr.getContent();
+		String expression = (String) content.get(0);
+		TaskEvaluator evaluator=task.getTaskEvaluator();
+		List queryResponse = evaluator.buildQueryEvaluator().evaluateExpression(expression, null);
+
+		boolean response = false;
+		if (queryResponse != null && (queryResponse.get(0) instanceof Boolean)) {
+			response  = (Boolean) queryResponse.get(0);
+		}
+    	return response;
+    }
 }

Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java?rev=980507&r1=980506&r2=980507&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java Thu
Jul 29 16:57:00 2010
@@ -313,7 +313,7 @@ public class Task {
 
         Map<String, Part> partsMap = operation.getInput().getMessage().getParts();
         Node messagePart = null;
-        for (Part part : partsMap.values()) {
+        for (Part part : partsMap.values()) { 
             String name = part.getName();
             QName element = part.getElementName();
             QName type = part.getTypeName();

Modified: incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskEvaluatorTest.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskEvaluatorTest.java?rev=980507&r1=980506&r2=980507&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskEvaluatorTest.java
(original)
+++ incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskEvaluatorTest.java
Thu Jul 29 16:57:00 2010
@@ -8,10 +8,6 @@ import javax.xml.namespace.QName;
 
 import junit.framework.Assert;
 
-import net.sf.saxon.dom.NodeOverNodeInfo;
-import net.sf.saxon.om.NodeInfo;
-import net.sf.saxon.type.TypeHierarchy;
-
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.hise.dao.Message;
 import org.apache.hise.lang.xsd.htd.TDeadline;
@@ -31,6 +27,7 @@ public class TaskEvaluatorTest {
         org.apache.hise.dao.Task t2 = new org.apache.hise.dao.Task();
         t2.setId(1234L);
         t2.getInput().put("request", new Message("request", "<a><b>text1</b></a>"));
+        t2.getInput().put("value", new Message("value", "<a><b>100</b><c>50</c></a>"));
         t.setTaskDto(t2);
         
         return new TaskEvaluator(t);
@@ -95,6 +92,33 @@ public class TaskEvaluatorTest {
         Date r = e.evaluateDeadline(deadline);
         Assert.assertEquals(6234L, r.getTime());
     }
+    
+    @Test
+    public void testEscalationCondition() throws Exception{
+    	XQueryEvaluator[] e = new XQueryEvaluator[5];
+    	String[] condition = new String[5];
+    	List r[] = new List[5];
+    	for(int i = 0;i < 5; ++i){
+    		e[i] = buildTaskEvaluator().buildQueryEvaluator();
+    		e[i].declareNamespace("htd","http://www.example.org/WS-HT");
+    	}
+
+    	condition[0] = new String("xs:integer(htd:getInput('value')/b) = 100");
+    	condition[1] = new String("xs:integer(htd:getInput('value')/b) < 100 or xs:integer(htd:getInput('value')/b)
= 100");
+    	condition[2] = new String("xs:integer(htd:getInput('value')/b) = 100 and xs:integer(htd:getInput('value')/c)
= 50");
+    	condition[3]= new String("not(xs:integer(htd:getInput('value')/b) = 100)");
+    	condition[4]= new String("(xs:integer(htd:getInput('value')/b) = 100 or xs:integer(htd:getInput('value')/c)
< 50) and xs:integer(htd:getInput('value')/c) < 10");
+    	
+    	for(int i = 0; i < 5; ++i){
+    		r[i] = e[i].evaluateExpression(condition[i], null);
+    	}
+    	
+    	Assert.assertEquals(r[0].get(0) , true);
+    	Assert.assertEquals(r[1].get(0)  , true);
+    	Assert.assertEquals(r[2].get(0) , true);
+    	Assert.assertEquals(r[3].get(0) , false);
+    	Assert.assertEquals(r[4].get(0) , false);
+    }
 
     @Test
     public void testEvalGetInput() throws Exception {

Modified: incubator/hise/trunk/hise-test-example-osgi/src/main/resources/testHtd1.xml
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-test-example-osgi/src/main/resources/testHtd1.xml?rev=980507&r1=980506&r2=980507&view=diff
==============================================================================
--- incubator/hise/trunk/hise-test-example-osgi/src/main/resources/testHtd1.xml (original)
+++ incubator/hise/trunk/hise-test-example-osgi/src/main/resources/testHtd1.xml Thu Jul 29
16:57:00 2010
@@ -177,8 +177,19 @@ xs:double(htd:getInput("ClaimApprovalReq
             
   <htd:deadlines>
     <htd:startDeadline>
-      <htd:for>'PT5S'</htd:for>
+      <htd:for>'PT3S'</htd:for>
       <htd:escalation name="reassignTask3">
+      
+      	<htd:condition>
+  			<![CDATA[
+				declare namespace cla="http://www.insurance.example.com/claims";
+				declare namespace htd="http://www.example.org/WS-HT";            
+				((htd:getInput("ClaimApprovalRequest")/cla:prio < 6 and htd:getInput("ClaimApprovalRequest")/cla:prio
> 4) 
+				or htd:getInput("ClaimApprovalRequest")/cla:prio = 10)
+  			]]>
+	 	</htd:condition>
+      
+      
         <htd:reassignment>
           <htd:potentialOwners>
             <htd:from>
@@ -188,17 +199,17 @@ xs:double(htd:getInput("ClaimApprovalReq
                     <htd:user>user3</htd:user>
                   </htd:users>
                 </htd:organizationalEntity>
-
               </htd:literal>
             </htd:from>
           </htd:potentialOwners>
         </htd:reassignment>
+        
       </htd:escalation>
       
     </htd:startDeadline>
 
   <htd:startDeadline>
-    <htd:for>'PT5S'</htd:for>
+    <htd:for>'PT3S'</htd:for>
     <htd:escalation name="startDeadline2">
       <htd:toParts>
         <htd:toPart name="request">
@@ -215,9 +226,18 @@ xs:double(htd:getInput("ClaimApprovalReq
     </htd:escalation>
   </htd:startDeadline>
     
-    <htd:completionDeadline>
-      <htd:for>'PT10S'</htd:for>
+    <htd:startDeadline>
+      <htd:for>'PT5S'</htd:for>
       <htd:escalation name="reassignTask3Completion">
+      
+      	<htd:condition>
+  			<![CDATA[
+				declare namespace cla="http://www.insurance.example.com/claims";
+				declare namespace htd="http://www.example.org/WS-HT";  
+				htd:getInput("ClaimApprovalRequest")/cla:prio < 3
+  			]]>
+	 	</htd:condition>
+      
         <htd:reassignment>
           <htd:potentialOwners>
             <htd:from>
@@ -232,7 +252,7 @@ xs:double(htd:getInput("ClaimApprovalReq
           </htd:potentialOwners>
         </htd:reassignment>
       </htd:escalation>
-    </htd:completionDeadline>
+    </htd:startDeadline>
   </htd:deadlines>
   
   

Modified: incubator/hise/trunk/itest/hise-soapui-project.xml
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/itest/hise-soapui-project.xml?rev=980507&r1=980506&r2=980507&view=diff
==============================================================================
--- incubator/hise/trunk/itest/hise-soapui-project.xml (original)
+++ incubator/hise/trunk/itest/hise-soapui-project.xml Thu Jul 29 16:57:00 2010
@@ -5886,7 +5886,129 @@ declare namespace ns4='http://www.insura
 declare namespace ns3='http://www.example.org/WS-HT';
 declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
 declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
-&lt;v>{//ns2:status/text()};{//ns2:name/text()};{//ns2:actualOwner/text()}&lt;/v></path><content>&lt;v>READY;ns4:Task8;&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:credentials><con:username>user3</con:username><con:password>user3pass</con:password></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:mockService
port="8084" path="/ClaimsResponse/" host="joker-laptop" name="MockService 1" bindToHostOnly="false"
docroot=""><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-action">true</con:setting><con:setting
id="com.eviware.soapui.i
 mpl.wsdl.mock.WsdlMockService@require-soap-version">false</con:setting></con:settings><con:mockOperation
name="resolve" interface="ClaimsResolvingBinding" operation="resolve"><con:settings/><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:defaultResponse>Response
1</con:defaultResponse><con:response name="Response 1" encoding="UTF-8"><con:settings/><con:responseContent><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
+&lt;v>{//ns2:status/text()};{//ns2:name/text()};{//ns2:actualOwner/text()}&lt;/v></path><content>&lt;v>READY;ns4:Task8;&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="SOAP Fault Assertion"/><con:credentials><con:username>user3</con:username><con:password>user3pass</con:password></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite
name="EscalationConditionTest"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase
failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="condition"
searchProperties="true" id="22c28994-3abe-44b0-8ac3-bdda5091727f"><con:set
 tings/><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:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/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>
+            <cla:cust>
+               <cla:id>123</cla:id>
+               <cla:firstname>Edmund</cla:firstname>
+               <cla:lastname>Zorn</cla:lastname>
+            </cla:cust>
+            <cla:amount>1234</cla:amount>
+            <cla:region>usa</cla:region>
+            <cla:prio>5</cla:prio>
+            <cla:activateAt>2009-01-02T12:00:00</cla:activateAt>
+         </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:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest"
to="" replyTo="${#Project#source}:8082/ClaimsResponseService/" addDefaultTo="true"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="approve - Request 2"><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 2" outgoingWss="" incomingWss="" useWsAddressing="true"><con:settings><con:setting
id="com.eviware.soapui.impl.ws
 dl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/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>
+            <cla:cust>
+               <cla:id>123</cla:id>
+               <cla:firstname>Edmund</cla:firstname>
+               <cla:lastname>Zorn</cla:lastname>
+            </cla:cust>
+            <cla:amount>1234</cla:amount>
+            <cla:region>usa</cla:region>
+            <cla:prio>2</cla:prio>
+            <cla:activateAt>2009-01-02T12:00:00</cla:activateAt>
+         </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:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest"
to="" replyTo="${#Project#source}:8082/ClaimsResponseService/" addDefaultTo="true"/><con:wsrmConfig
version="1.2"/></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>tid1</con:name><con:value>5</con:value></con:property><con:property><con:name>tid2</con:name><con:value>6</con:value></con:property></con:properties></con:config></con:testStep><con:test
 Step 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>&lt;a>{*/*/*/text()}&lt;/a></con:sourcePath><con:targetType>tid1</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers><con:transfers
setNullOnMissingSource="true" transferTextContent="true" failOnError="true" useXQuery="true"
ignoreEmpty="false"><con:name>tid2</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve
- Request 2</con:sourceStep><con:sourcePath>&lt;a>{*/*/*/text()}&lt;/a></con:sourcePath><con:targetType>tid2</con:targetType><con:targetStep
 >Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep
type="request" name="getTaskInfo - 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>getTaskInfo</con:operation><con:request
name="getTaskInfo - Request 1" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/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:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()}:
+{//ns3:potentialOwners/ns2:users/ns2:user/text()}&lt;/v></path><content>&lt;v>RESERVED;ns4:Task1:
+user1&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="getTaskInfo - Request 2"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>getTaskInfo</con:operation><con:request
name="getTaskInfo - Request 2" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:sett
 ing id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/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:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid2}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()}:
+{//ns3:potentialOwners/ns2:users/ns2:user/text()}&lt;/v></path><content>&lt;v>RESERVED;ns4:Task1:
+user1&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="delay" name="Delay"><con:settings/><con:config><delay>3500</delay></con:config></con:testStep><con:testStep
type="request" name="getTaskInfo2 - 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>getTaskInfo</con:operation><con:request
name="getTask
 Info2 - Request 1" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/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:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()}:
+{//ns3:potentialOwners/ns2:users/ns2:user/text()}&lt;/v></path><content>&lt;v>RESERVED;ns4:Task1:
+user3&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="getTaskInfo2 - Request 2"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>getTaskInfo</con:operation><con:request
name="getTaskInfo2 - Request 2" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:se
 tting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/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:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid2}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()}:
+{//ns3:potentialOwners/ns2:users/ns2:user/text()}&lt;/v></path><content>&lt;v>RESERVED;ns4:Task1:
+user1&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="delay" name="Delay2"><con:settings/><con:config><delay>3500</delay></con:config></con:testStep><con:testStep
type="request" name="getTaskInfo3 - 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>getTaskInfo</con:operation><con:request
name="getTas
 kInfo3 - Request 1" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:setting
id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/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:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()}:
+{//ns3:potentialOwners/ns2:users/ns2:user/text()}&lt;/v></path><content>&lt;v>RESERVED;ns4:Task1:
+user3&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:testStep
type="request" name="getTaskInfo3 - Request 2"><con:settings/><con:config xsi:type="con:RequestStep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>getTaskInfo</con:operation><con:request
name="getTaskInfo3 - Request 2" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:se
 tting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/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:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid2}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion
type="XQuery Match"><con:configuration><path>declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()}:
+{//ns3:potentialOwners/ns2:users/ns2:user/text()}&lt;/v></path><content>&lt;v>RESERVED;ns4:Task1:
+user4&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion
type="Schema Compliance"><con:configuration><definition/></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig
JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE"
version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig
version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:mockService
port="8084" path="/ClaimsResponse/" host="joker-laptop" name="MockService 1" bindToHostOnly="false"
docroot=""><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-action">true</con:setting><con:setting
id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-version
 ">false</con:setting></con:settings><con:mockOperation name="resolve" interface="ClaimsResolvingBinding"
operation="resolve"><con:settings/><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:defaultResponse>Response
1</con:defaultResponse><con:response name="Response 1" encoding="UTF-8"><con:settings/><con:responseContent><![CDATA[<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
    <soapenv:Header/>
    <soapenv:Body>
       <cla:resolveResponse/>



Mime
View raw message