Using the JAX-WS Endpoint API

Using the JAX-WS Endpoint API.

An excellent way to create web services during development or for a prototype without a container. Faster, simpler, debuggable and you can use eclipse instead of netbeans ….

Advertisements

Build BPEL project in netbeans using command line

As stated in a previous post, you can use the command line (in this case ANT) to build a BPEL netbeans project.

After asking the openESB community, which is very helpful and fast in their answering, it is not possible to get warnings. Only validation errors are presented for this.

Validation itself is configurable with these commands:

Nothing is validated: -Dvalidation=none
Only parts are validated: -Dvalidation=partial
Everything is validated: -Dvalidation=complete

For huge projects it can be better to use the none or partial validation option as the building takes too long otherwise.

References: openESB mailling list regarding this topic

Dynamic partner links in openESB

How to do dynamic partner links in openESB.

I used this tutorial for this: Wiki page from openESB.

However, as it is not completelty self-explanatory, I outline the neccessary changes for the first method, by copying it inside an assign.

http://localhost:8088/asyncsecond
wsdlNS:AsynchronousClient_asyncCallbackService

The namespaces for this example are:

xmlns:sref="http://docs.oasis-open.org/wsbpel/2.0/serviceref"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"

wsdLNS is the namespace of the WSDL that contains the service

The Portname is the portname from the WSDL as well as the Service Name written inside the ServiceName-Tag.

Glassfish openESB deploy when monitorin is active

The Monitoring Capabilities of Glassfish openESB generate deployment complications:

  1. Start Glassfish
  2. Activate Monitoring Capabilities
  3. Deploy project
  4. Undeploy project
  5. Deploy project -> error, BPEL process already exists

To solve this, just deactivate the monitoring capabilities, purge monitoring data and restart. Worked for me.

Netbeans and BPEL *Update*

My current project involves the use of BPEL. I decided to work with Netbeans and the Glassfish v2 using openESB as it provides quite a good tool integration.

However, I do need to create projects and deploy about 32 BPEL Processes along with quite a few WSDL Web Service implementations.

What is the problem:
1. BPEL validation cannot be automated
I use a MDA approach to generate my BPEL code using Eclipse EMF and cannot automatically validate these files using Netbeans. The BPEL Validator cannot be called from outside Netbeans. I searched a lot, but I haven’t found anyone who could do this and many people said it is not possible.

What a pity …..

*Update*

It can be done using ANT.

– Make sure ant is installed (by typing ant into the commandline)
– go into the directory and execute the following
ant -Desb.netbeans.home=PATH_TO_YOUR_NETBEANS

– if you need more detailed information, use -verbose

By building the default target, the bpel processes are automatically validated.

2. BPEL Validation in Netbeans does only run fast if each BPEL file with its WSDLs and XSDs is in its own project.

Each BPEL file in own project: Validation Time: 5 seconds
Every BPEL File in same project: Validation Time for each BPEL File: 75 seconds

Time may vary as the size is not always the same, but you can get the dif-factor: 15 …

So, use small projects.

After some thought, the problem arises during the evaluation of the XPath expressions in the copy constructs.

Maybe it is possible to use absolute locations for the BPEL imports to reduce the time to validate, but this results in even more problems when copying and deploying on the glassfish ….