惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Exploit Database - CXSecurity.com
A
Arctic Wolf
K
Kaspersky official blog
T
Threat Research - Cisco Blogs
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
U
Unit 42
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy & Cybersecurity Law Blog
O
OpenAI News
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
Cisco Blogs
AWS News Blog
AWS News Blog
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
美团技术团队
T
Threatpost
S
Schneier on Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
Cyber Attacks, Cyber Crime and Cyber Security
Last Week in AI
Last Week in AI
C
CERT Recently Published Vulnerability Notes
Blog — PlanetScale
Blog — PlanetScale
C
Cybersecurity and Infrastructure Security Agency CISA
F
Full Disclosure
博客园_首页
N
Netflix TechBlog - Medium
Security Latest
Security Latest
有赞技术团队
有赞技术团队
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Register - Security
The Register - Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Recent Announcements
Recent Announcements
博客园 - Franky
P
Palo Alto Networks Blog
Project Zero
Project Zero
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
H
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
Cisco Talos Blog
Cisco Talos Blog
H
Heimdal Security Blog
The Hacker News
The Hacker News
博客园 - 【当耐特】
GbyAI
GbyAI

博客园 - lisugar

BPEL元素定义层次关系 去黑头的方法.... BPEL中的XML元素解析 WDSL文件中的XML元素 WS-BPEL2.0 Specification 什么是BPEL - 老外们给的定义 你们猜吧:) 劳动人民的智慧是无穷的,只要你有发现的眼睛 安全 C# .net 2005 beta 所有安装连接 .net中实现拖拽控件 今天最大的收获 C#程序分类管理 C#创建目录的方法 数据库中权限分配技巧 [wenService]ASP.Net+XML打造留言薄 [webService]如何编写需要授权才能使用的WebService?(原著网事如风) [[Advanced T-SQL]] Automate the Generation of Stored Procedures for Your Database [C#]Windows服务程序[转载西门吹雪的好文章]
BPEL中的XML元素解析 2 - lisugar - 博客园
lisugar · 2006-08-16 · via 博客园 - lisugar

上一篇文章开了一个小头,这次继续写一些自己读WS-BPEL2.0的心得体会,供大家分享
业务逻辑Business Process单独进行定义,该部分主要使用以下的XML元素,以及嵌套关系,其中这个并不是标准的XML只是为了方便说明其中的关系和结构
其中
?表示(0或1)
*表示(0或更多)
+表示(1或更多)

<process name="NCName" targetNamespace="anyURI" 

   queryLanguage
="anyURI"?

   expressionLanguage
="anyURI"

   suppressJoinFailure
="yes|no"?

   exitOnStandardFault
="yes|no"?

   xmlns
="http://schemas.xmlsoap.org/ws/2004/03/business-process/">

 

   
<import namespace="anyURI"

      location
="anyURI"

      importType
="anyURI" />*

 

   
<extensions>?

      
<extension namespace="anyURI" mustUnderstand="yes|no" />*

   
</extensions>

 

   
<partnerLinks>?

      
<!-- Note: At least one role must be specified. -->

      
<partnerLink name="NCName" 

         partnerLinkType
="QName"

         myRole
="NCName"

         partnerRole
="NCName"?

         initializePartnerRole
="yes|no"?>+

      
</partnerLink>

   
</partnerLinks>

 

   
<messageExchanges>?

      
<messageExchange name="NCName" />+

   
</messageExchanges>

 

   
<variables>?

      
<variable name="BPELVariableName" 

         messageType
="QName"?

         type
="QName"

         element
="QName"/>+

   
</variables>

 

   
<correlationSets>?

      
<correlationSet name="NCName" properties="QName-list" />+

   
</correlationSets>

 

   
<faultHandlers>?

      
<!-- Note: There must be at least one faultHandler -->

      
<catch faultName="QName"

         faultVariable
="BPELVariableName"?

         ( faultMessageType
="QName" | faultElement="QName" )? >

         activity

      
</catch>

      
<catchAll>

         activity

      
</catchAll>

   
</faultHandlers>

 

   
<eventHandlers>?

      
<!-- Note: There must be at least one onEvent or onAlarm. -->

      
<onEvent partnerLink="NCName" 

         portType
="QName"?

         operation
="NCName" 

         ( messageType
="QName" | element="QName" )?

         variable
="BPELVariableName"

         messageExchange
="NCName"?>*

         
<correlations>?

            
<correlation set="NCName" initiate="yes|join|no"/>+

         
</correlations>

         
<fromParts>?

            
<fromPart part="NCName" toVariable="BPELVariableName" />+

         
</fromParts>

         
<scope ></scope>

      
</onEvent>

      
<onAlarm>*

         
<!-- Note: There must be at least one expression. -->

         (

         
<for expressionLanguage="anyURI"?>duration-expr</for>

         |

         
<until expressionLanguage="anyURI"?>deadline-expr</until>

         )?

         
<repeatEvery expressionLanguage="anyURI"?>

            duration-expr

         
</repeatEvery>?

         
<scope ></scope>

      
</onAlarm>

   
</eventHandlers>

   activity

</process>

这其中
queryLanguage表示在整个流程中的查询语言默认值为"urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0", 表示使用ws-bpel2.0并附加XPath1.0
expressionLanguage. 表示在<process>中使用的默认表达语言该属性的默认值为"urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"
... ...

一个ws-bpel可以使用如下的标签定义:

·         <receive>允许业务过程等待相匹配的消息到达,当消息到达时该活动才可以完成,其中的<portType>是可选的,但是当<portType>以后<portType>的InputValue的类型必须和<partTypeLink>中的对应规则相符messageExcage属性也是可选的,可以与一个<replay>活动相关联.

·         <reply>允许业务过程发送一个消息来回复来自于IMA的邦定消息,IMA的类型包括<receive>,<onMessage>,<onEvent>,与<recieve>相仿<messageExchange>同样用来关联消息获得方,包括上面说的三种类型

·         <invoke> 允许业务流程产生一个单方面的或者是应答式的活动,这主要根据<portType>的定义

·         <assign>主要用来在业务流程中分配变量的值

·         <throw>产生错误并将错误抛出

·         <exit>

·         <wait>用于使业务流程等待一段时间

·         <empty>表示不进行任何操作,这对并行操作的活动非常有帮助

·         <sequence>用来定义一组活动顺序发生

·         <if>可定义活动的条件状态

·         <while>循环,与高级语言中的while相仿

·         <repeatUntil>另一种循环,与高级语言中的until相仿

·         <forEach>循环,C#有相同的定义形式

·         <pick>用来等待一组消息中的任何一个到达,或者到达超时时间以后开始激发

·         <flow>用来定义并行发生的动作

·         <scope>用来定义嵌套的活动

·         <compensate>该标签必须使用在错误处理句柄中,用来在发生错误的时候进行补偿操作

·         <compensateScope> 同上,但是只能发生在特定的内部<scope>中

·         <rethrow>也必须在错误处理句柄中使用,抛异常

·         <validate>通过变量相关的XML或者WSDL验证变量的值

·         <extensionActivity>通过该标签扩展用户自己的活动

continue ... ...