|
From: <ale...@us...> - 2009-07-08 12:59:51
|
Revision: 330
http://cse-ip.svn.sourceforge.net/cse-ip/?rev=330&view=rev
Author: alexloewen
Date: 2009-07-08 12:59:44 +0000 (Wed, 08 Jul 2009)
Log Message:
-----------
added fault handling in addAccount, some bugs fixed in addCategory, AddCourse, DeleteAccount
Modified Paths:
--------------
trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddAccount.bpel
trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddCategory.bpel
trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddCourse.bpel
trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/DeleteAccount.bpel
Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddAccount.bpel
===================================================================
--- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddAccount.bpel 2009-07-08 12:50:59 UTC (rev 329)
+++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddAccount.bpel 2009-07-08 12:59:44 UTC (rev 330)
@@ -12,12 +12,14 @@
xmlns:ns0="http://cse.campussource.de/wsdl/ILIASClientAdapter/AddAccount"
xmlns:ex="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:dt="http://cse.campussource.de/schema/DataTypes"
- xmlns:sxed2="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor2">
+ xmlns:sxed2="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor2"
+ xmlns:fltns="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/faultHandlingMsg">
<import namespace="http://cse.campussource.de/wsdl/ILIASClientAdapter/AddAccount" location="AddAccount.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
<import namespace="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/faultHandlingMsg" location="faultHandlingMsg.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
<import namespace="http://enterprise.netbeans.org/bpel/ilias-3.10.5-Wrapper" location="ilias-3.10.5-Wrapper.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
<import namespace="urn:ilUserAdministration" location="ilias-3.10.5-fixed.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+ <import namespace="http://j2ee.netbeans.org/wsdl/ILIASClientAdapter/faultHandlingMsg" location="faultHandlingMsg.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
<partnerLinks>
<partnerLink name="ILIAS" xmlns:tns="http://enterprise.netbeans.org/bpel/ilias-3.10.5-Wrapper" partnerLinkType="tns:ILIASSoapWebserviceLinkType"
@@ -42,7 +44,73 @@
<scope name="AddAccountScope">
<variables>
<variable name="AddAccountOut" messageType="ns0:AddAccountResponse"/>
+
+
+ <!-- FaultHandling Variables -->
+
+ <variable name="SystemFault" messageType="fltns:systemFaultMessage"/>
+ <variable name="UnknownFault" messageType="fltns:unknownFaultMessage"/>
+ <variable name="IliasFault" messageType="fltns:iliasFaultMessage"/>
</variables>
+
+ <faultHandlers>
+
+ <!-- Handling SystemFault -->
+ <catch faultName="sxeh:systemFault">
+ <sequence>
+ <assign name="prepareSystemFaultReply">
+ <!-- Set Fault Data-->
+ <sxt:trace>
+ <sxt:log level="info" location="onStart">
+ <from>concat('*** System Fault occured in AddAccount()!', ' ')</from>
+ </sxt:log>
+ </sxt:trace>
+ <copy>
+ <from>'AddAccount failed with a SystemFault!'</from>
+ <to variable="SystemFault" part="cause"/>
+ </copy>
+ <copy>
+ <from>sxxf:doMarshal($AddAccountIn.account)</from>
+ <to variable="SystemFault" part="context"/>
+ </copy>
+ <copy>
+ <from>'AddAccount.bpel'</from>
+ <to variable="SystemFault" part="process"/>
+ </copy>
+ </assign>
+ <reply name="ReplyWithSystemFault" partnerLink="IliasAdapter" operation="addAccount" portType="ns0:AddAccountPortType" faultName="ns0:SystemFault" variable="SystemFault"/>
+ </sequence>
+ </catch>
+
+ <!--Handling unspecific Faults -->
+ <catchAll>
+
+ <sequence>
+ <assign name="prepareUnknownFaultReply">
+ <!-- Set Fault Data-->
+ <sxt:trace>
+ <sxt:log level="info" location="onStart">
+ <from>concat('*** System Fault occured in AddAccount()!', ' ')</from>
+ </sxt:log>
+ </sxt:trace>
+
+ <copy>
+ <from>'AddAccount failed with an UnknownFault'</from>
+ <to variable="UnknownFault" part="cause"/>
+ </copy>
+ <copy>
+ <from>sxxf:doMarshal($AddAccountIn.account)</from>
+ <to variable="UnknownFault" part="context"/>
+ </copy>
+ <copy>
+ <from>'DeleteAccount.bpel'</from>
+ <to variable="UnknownFault" part="process"/>
+ </copy>
+ </assign>
+ <reply name="ReplyWithUnknownFault" partnerLink="IliasAdapter" operation="addAccount" portType="ns0:AddAccountPortType" faultName="ns0:UnknownFault" variable="UnknownFault"/>
+ </sequence>
+ </catchAll>
+ </faultHandlers>
<sequence>
<receive name="start" createInstance="yes" partnerLink="IliasAdapter" operation="addAccount"
portType="ns0:AddAccountPortType"
@@ -67,8 +135,7 @@
</copy>
</assign>
<elseif>
- <condition> $AddAccountIn.account/dt:attribute[dt:name = 'firstName']/dt:value/text()
- and $AddAccountIn.account/dt:attribute[dt:name = 'surname']/dt:value/text()</condition>
+ <condition> $AddAccountIn.account/dt:attribute[dt:name = 'firstName']/dt:value/text() and $AddAccountIn.account/dt:attribute[dt:name = 'surname']/dt:value/text()</condition>
<!-- Construct login from firstname + surname -->
<assign>
<copy>
@@ -90,8 +157,7 @@
<!-- Construct Password -->
<if name="ConstructPassword">
- <condition> $AddAccountIn.account/dt:attribute[dt:name = 'password']/dt:value/text()
- and string-length($AddAccountIn.account/dt:attribute[dt:name = 'password']/dt:value/text()) > 5</condition>
+ <condition> $AddAccountIn.account/dt:attribute[dt:name = 'password']/dt:value/text() and string-length($AddAccountIn.account/dt:attribute[dt:name = 'password']/dt:value/text()) > 5</condition>
<!-- Password is set in attributes AND long enough -->
<assign>
<copy>
@@ -216,17 +282,46 @@
portType="tns:ILIASSoapWebservicePortType"
inputVariable="AddUserIn"
outputVariable="AddUserOut"/>
-
- <assign name="prepareReply">
- <copy>
- <from>$AddUserOut.user_id</from>
- <to>$AddAccountOut.accountId</to>
- </copy>
- </assign>
-
- <reply name="replyWithAccountId" partnerLink="IliasAdapter" operation="addAccount"
+ <if name="IfReturnedIdIsOk">
+ <condition>$AddUserOut.user_id >= 0</condition>
+ <sequence>
+ <assign name="prepareReply">
+ <copy>
+ <from>$AddUserOut.user_id</from>
+ <to>$AddAccountOut.accountId</to>
+ </copy>
+ </assign>
+ <reply name="replyWithAccountId" partnerLink="IliasAdapter" operation="addAccount"
portType="ns0:AddAccountPortType"
variable="AddAccountOut"/>
+ </sequence>
+ <else>
+ <sequence>
+ <assign name="prepareIliasFaultReply">
+ <!-- Set Fault Data-->
+ <sxt:trace>
+ <sxt:log level="info" location="onStart">
+ <from>concat('*** Ilias Fault occured in AddAccount()!', ' ')</from>
+ </sxt:log>
+ </sxt:trace>
+
+ <copy>
+ <from>'Ilias returned failed.'</from>
+ <to variable="IliasFault" part="cause"/>
+ </copy>
+ <copy>
+ <from>'AddAccount.bpel'</from>
+ <to variable="IliasFault" part="process"/>
+ </copy>
+ <copy>
+ <from>sxxf:doMarshal($AddAccountIn.account)</from>
+ <to variable="IliasFault" part="context"/>
+ </copy>
+ </assign>
+ <reply name="ReplyWithIliasFault" partnerLink="IliasAdapter" operation="addAccount" portType="ns0:AddAccountPortType" faultName="ns0:IliasFault" variable="IliasFault"/>
+ </sequence>
+ </else>
+ </if>
</sequence>
</scope>
</process>
Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddCategory.bpel
===================================================================
--- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddCategory.bpel 2009-07-08 12:50:59 UTC (rev 329)
+++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddCategory.bpel 2009-07-08 12:59:44 UTC (rev 330)
@@ -176,9 +176,9 @@
<!-- Check if returned Reference Id is valid -->
<if name="IfRefIdIsOk" xmlns:tns="http://cse.campussource.de/wsdl/ILIASClientAdapter/AddCategory">
- <condition>0 <= $AddObjectOut.ref_id</condition>
<!--Sending a normal Reply -->
- <sequence>
+ <condition>$AddObjectOut.ref_id >= 0</condition>
+ <sequence>
<assign name="prepareReply">
<copy>
<from>$AddObjectOut.ref_id</from>
Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddCourse.bpel
===================================================================
--- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddCourse.bpel 2009-07-08 12:50:59 UTC (rev 329)
+++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/AddCourse.bpel 2009-07-08 12:59:44 UTC (rev 330)
@@ -387,7 +387,7 @@
<!-- If courseId less or equel 0, fault reply, otherwise reply with CourseId-->
<if>
- <condition>0 <= $IliasAddCourseOut.course_id</condition>
+ <condition>$IliasAddCourseOut.course_id >= 0</condition>
<sequence>
<assign name="prepeareReply">
<copy>
Modified: trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/DeleteAccount.bpel
===================================================================
--- trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/DeleteAccount.bpel 2009-07-08 12:50:59 UTC (rev 329)
+++ trunk/sandbox/lsf-adapter-demo/ILIASClientAdapter/src/DeleteAccount.bpel 2009-07-08 12:59:44 UTC (rev 330)
@@ -51,12 +51,8 @@
<sxt:log level="info" location="onStart">
<from>concat('*** System Fault occured in deleteAccount()!', ' ')</from>
</sxt:log>
- </sxt:trace>
+ </sxt:trace>
<copy>
- <from>false()</from>
- <to variable="DeleteAccountOut" part="success"/>
- </copy>
- <copy>
<from>'DeleteAccount failed with a SystemFault!'</from>
<to variable="SystemFault" part="cause"/>
</copy>
@@ -86,12 +82,8 @@
<sxt:log level="info" location="onStart">
<from>concat('*** System Fault occured in deleteAccount()!', ' ')</from>
</sxt:log>
- </sxt:trace>
+ </sxt:trace>
<copy>
- <from>false()</from>
- <to variable="DeleteAccountOut" part="success"/>
- </copy>
- <copy>
<from>'DeleteAccount failed with an UnknownFault'</from>
<to variable="UnknownFault" part="cause"/>
</copy>
@@ -168,11 +160,8 @@
<from>concat('*** IliasFault occured in deleteAccount()!', ' ')</from>
</sxt:log>
</sxt:trace>
+
<copy>
- <from>false()</from>
- <to variable="DeleteAccountOut" part="success"/>
- </copy>
- <copy>
<from>'Ilias returned failed.'</from>
<to variable="IliasFault" part="cause"/>
</copy>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|