webMethods中有趣的尝试【一】

webMethods的flowService是一种典型的工作流模式编程,因此有一些使用会和代码不一样。出于这样的原因,本人对flowService的活用做了一些测试。

一、递归

在flowService中调用自身。

测试结果:可以实现递归功能,同编码一样。需要指定跳出条件,不然会有死循环的编译错误。

二、 exit

exit功能有三种用法跳出循环(相当于java中的break),跳出flow(相当于exit()),跳到父节点(相当于continue)。

用好这三种功能可以很好地控制程序的结束方式。

三、 try-catch-finally的实现

在工作流中实现try-catch-finally是一件比较有意思的事情,通过图形化的步骤可以很清晰地了解到try-catch-finally的设计思路和实现原理。

首先要定义一个main,这个main的sequence中exit from属性设置成为success ,这样就可以保证这个sequence就算发生错误也可以跑到catch程序里面去获取异常,而不是直接报错,停止运行了。try和catch是main下的子sequence,分别设置exit from属性为failure和done。failure属性是正常的sequence中exit from的默认属性,当这个sequence发生错误的时候会自动停止向下运行,直接跳出sequence。而done属性则是只有当该sequence上面的程式发生异常的时候才会跑进来的,因此正是捕获异常专用的条件。最后是finally,finally与main同级,在main下面。设置成failure或者success都可以,看情况而定。

这个与java的区别在于,java中会在try或者catch的结束点执行之前先执行一次finally,而webMethods中则是在trycatch结束点之后执行finally。

时间: 2024-08-30 04:15:16

webMethods中有趣的尝试【一】的相关文章

webMethods中的debug

程序开发中最经常做的事情莫过于debug,在webMethods中也是如此.掌握有效的debug方法可以提高程序开发的效率,而了解更多的debug方式则让bug无处遁形. 在这里我列举几个常用的debug方式. 一.最常用的单步调试和Trace. 在developer中,单步调试的快捷键是F6,Trace是F5.本人在发现程序存在错误的时候最先使用的找错方式便是用Trace运行程序,当程序跑到异常的地方,trace会中断运行,并且可以留下运行过的标志.我们可以很清楚地看到出错的地方.接着我们便可

C 语言中有趣第指针操作(转)

http://blog.csdn.net/ghevinn/article/details/37651149(反汇编题目需要分析) 4.取出内存区域的值 在取某内存地址开始的一个区域的值的时候,取出的值取决于用来取值的类型,譬如int为4个byte,char为1个byte,程序如: void main(){ int a[2] = {261,0}; int *pi = a; char *p = (char*)pi; cout << *(int *)p++ << endl;  //取出p

python中有趣的函数

filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回: >>> def f(x): return x % 2 != 0 and x % 3 != 0 >>> filter(f, range(2, 25)) [5, 7, 11, 13, 17, 19, 23] >>> def f

webMethods中对EDI的转换与应用

webMethods针对edi做的功能是很完善的,is里面单独有一个wmedi的包,里面有各种对于edi数据操作的方法,包括格式转换,envelop的添加等. edi格式的转换主要有三种类型:edi/UNEDIFACT的解析和转换,xml到edi的转换,FlatFile的解析和转换. 1.edi/UNEDIFACT:将edi解析成doc,映射到自己定义的DB的doc,将DB的doc用jdbc adpater batch insert到DB.再从DB中拿出来db的doc list,映射到edi的d

webMethods中的document格式——Dictionary

webmethods中有一种独特的数据格式是document.这种数据格式类似于xml,各个不同的位置代表的意义由用户自己定义. document与xml大部分类似,在我个人看来比xml好的一点在于它结合了webMethods的图形化特点,可以对document进行鼠标定义和编程,通过document格式的树形结构,我们可以很轻松地找到想要的数据,然后通过鼠标连线将其赋给另外一个值,或者对其进行编辑和其他的操作. 与document密切相关的文件类型还有两种,一种是schema,还有一种则是Di

Lex中有趣问题

Lex和Yacc是Unix下不错的词法分析器和语法分析器,在linux下,这两个工具被成为flex和bison,也是C++经常用来构建字符分析程序的工具. 本文不是一篇入门文章,我们假设您已经了解了Lex和Yacc的基本语法 入门文章请参考IBM的:[Yacc 与 Lex 快速入门] 我们这里讨论一些其有趣的用法和注意的事项 字符串的识别 常规的正则式和匹配问题都难不倒大家,那么下面来想一个问题,C语言中字符串如何识别? 我们知道,字符串一般是这样的 "some \"string\&q

一些JAVA中有趣的面试题

这几天的JAVA培训课上,不断的唤醒自己对JAVA的理解(时间太长,大学学的快忘干净了),其中有一些很有趣的面试题,都是在抠JAVA细节(唉,我是那种见坑就往下跳的人,一做就错),下面就来分享一下: 1)用JAVA程序写出当你在超市购物花费1.1元时,你给收银员2元钱,收银员找你0.9元的过程: 当时一看题目,好简单啊!迅速写出: public class Sell{ public static void main(String[] args){ double total = 2.0; doub

在webMethods中的excel操作

webMethods有自己的一个网页端工具:DSP.与JSP类似,都是从后台获取数据再绑定到前台显示. 操作EXCEL包括三部分:获取EXCEL,显示EXCEL,修改EXCEL. 获取EXCEL主要利用的是apache的POI包,在webMethods后台编写Java Service实现. 显示部分是通过DSP将生成排版好的EXCEL数据传输到DSP网页前台,再显示出来. 修改EXCEL是通过form表单提交input数据,再在后台整理成页.行.格最后再写回EXCEL中去.

小程序开发中有趣的事情

小程序开发做了半年了,断断续续地利用课余时间写了一大部分. 期间遇到了很多坑和技巧,个人感觉十分有趣. 1.textarea 小程序里面的textarea是我遇到的第一个坑. textarea 在小程序里面看起来似乎和HTML里的一样,但是页面一滑动就有问题:欸欸欸??卧槽,卧槽,他怎么不动?:如果页面有弹层,弹层弹出的瞬间,卧槽卧槽?这个怎么在最上面?.textarea在小程序里面是原生层级最高的组件,z-index对他没用,并且在swipe.scroll-view.canve里面会出现奇奇怪