这个例子是按照Oracle官网例子做下来的。但是在做的过程中还是遇到了一些问题。自己为了巩固整个流程,故写下这个文档(其中肯定还有一些我理解失误的地方)。
这个bpel流程是通过用户输入一个股票代号(stock code),然后得到一个股票报价(stock quote)。接下来的ZzyQuoteConsumer bpel 流程就是供用户输入股票代号,然后此流程再调用一个同步的StockQuoteConsumer web Service.返回给用户该股票代号的股票报价(Stock quote)。
这里没有给出StockQuoteConsumer。这个可以在oracle官网上去下,现将这个服务部署好,因为我们接下来会用到。
下面就开始ZzyQutoConsumer 这个bpel流程了。
1、 new a bpel project.(Template:ASynchronous),then click the Finish.
2、then
3、现在我们将我们要用的StockQuoteConsumer服务引进来,拖一个PartnerLink到bpel界面右边的Services区。
这里的WSDL File是StockQuoteConsumer 这个web Service在服务上的地址。Partners Role 这里选StockQuoteConsumerProvider 说明这个StockQuoteConsumer 是我们这个流程的一个服务的提供者。My Role不用定义。
定义好后,关闭,再重新点击打开。
4、接下来我们定义我们要用到的变量(这里一般变量都是在Schema里建,但是这里我们的变量比较少,而且就在这个文件里用,所以这里直接在QuoteConsumer.bpel文件里写了)。
这里唯一需要注意就是request/response这里messageType 的nsl。不是client 了,如果你不确定该写什么,你可以参考上面partnerLink 的partnerLinkType这里的nsl,这是你调用了一个web Service后自动有的,这里是什么,你就写什么。(用图形界面建立变量,会方便很多。)request 、response是调用web Servicede(StockQuoteConsumer)的接口参数。