User development,
A new message was posted in the thread "Tutorial for BPEL simple-invoke":
http://community.jboss.org/message/531481#531481
Author : Peter Johnson
Profile :
http://community.jboss.org/people/peterj
Message:
--------------------------------------------------------------
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