[jboss-user] [JBoss Tools] New message: "Re: Tutorial for BPEL simple-invoke"
do-not-reply at jboss.com
Thu Mar 11 13:59:38 EST 2010
A new message was posted in the thread "Tutorial for BPEL simple-invoke":
Author : Peter Johnson
Profile : http://community.jboss.org/people/peterj
Success! Yesterday I spent several hours, armed with the simple-invoke example, the JBoss Tools BPEL User's Guide and the mistakes that I make on an earlier attempt, and I successfully used the GUI editor to create a BPEL that invokes a web service. I took copious notes and screen shots (12 pages with 17 screen shots). My notes do not include any of the steps already documented in the User's Guide.
Here is a very high-level overview of the steps:
1) Create a project following chapter 3 in the User's Guide (but ignore the steps related to the Assign task at the start of section 3.2)
2) Copy the WSDL for the external web service into the project.
3) Add a *partner link type* with a role to the external WSDL
4) Add a *partner link* to the BPEL using the *partner link type* created in the prior step, and select the partner role
5) Add 2 variables to the BPEL - one for the external web parameters and the other for the return value
6) Add two Assign tasks to the BPEL work flow. In the first copy the BPEL input value(s) to the variable for the external web service parameters, and in the second do the same for the return value.
7) Add an Invoke task to the BPEL workflow (between the 2 Assigns added in the prior step), configure it to invoke the external web service and hook up the input and output variables
8) Follow the steps in the User's Guide, chapter 4, to add the PDE deployment descriptor to the project. But also identify the external web service partner link in the outbound interfaces
Now you can deploy the BPEL project (chapter 4 of the User's Guide) and test it using SoapUI.
The really interesting parts are steps 3 and 4. If you do step 4 without first doing step three you end up with problems that cannot be fixed by the GUI - you will need to edit the files in text. In fact, there are many situations where if you mess up the error cannot be corrected in the GUI.
Step 6 was also a challenge. Determining which of the various matches, on the Choose Type of Variable dilaog box, to select when copying the variable values was not obvious.
Step 3 required some manual editing of the WSDL file - the namespace for the partnerlinktype that was provided in the extenstion dialog was for xmlsoap not for wsbpel. I did not take the time to figure out how to get the wsbpel dded to the list. So I edited
Part of step 4 required that you edit the BPEL file via text - the "Initialize Role" check box, which you need to check, is greyed out. Nothing I did resulted in that check box being enabled. Even with editing the file by hand, the box remained greyed out and unchecked.
In step 2 I obtained the WSDL by going to http://localhost:8080/jbossws, following the link to the page of WSDLs, clicking on the WSDL link, and then asking the browser to save the result in a file. The file was missing the xml version line:
<?xml version="1.0" encoding="utf-8" ?>
Without this line, I got a "missing content-type" error when I deployed the BPEL.
Feng, now you know why I stated that your steps were too simplistic. And I will go even further than that - my steps, while complete, leave out a lot of details and it is some of those details that will mess you up. The GUI provides no help whatsoever with filling in the details - it pretty much expects that you already know what information is important and what is not. I suspect that anyone very familiar with BPEL will avoid the GUI and edit the text by hand. But anyone who is not intimately familiar with BPEL will soundly curse the GUI for not providing any clue as to how to appoach common tasks, such as invoking an external web service.
To reply to this message visit the message page: http://community.jboss.org/message/531481#531481
More information about the jboss-user