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. |