afaik there are no automatic activity to communicate with a web service but since it is a java you can use what ever you like to communicate with web service (axis, cxf, etc) and embed it in java or custom activity in your process.
do you know how would I package it? Should I include my WS in a jar and include it in the classpath?
It depends how you are going to use jBPM - will it be stand alone engine or embedded in your application.
Take a look at user guide, section about deploying process definition and its resources.
I think it is better to include all required resources/classes in business archive. Such approach gives you possibility to control classes and resources within different versions that can live together.
Have few questions and appreciate any answer.
1- In your previous email, you said in order to consume a webservice inside a jbpm process we need to develop code, is there any other tools that can be integrated with jbpm process like either bpel or bpmn2 that has support for webservice?
2- I read somewhere in the developer guide of version 4.0 that "Currently, only Java service invocations are supported by the jBPM engine, but Web service invocations are planned for a future release." Is this still in progress? I am just wondering if there is a way to use capability of the tool to consume a web service rather develop code for it?
3 - If there is no other way, which process would you use for the webservice? java, task or custom? In development guide for 4.0 it says use java task process for web service, but in jbpm 4.3, we don't have an option for the java task, there is only task.
You don't really have to develop code to access the webservice. You can use a webservice framework for Java (e.g. Axis2) and generate the necessary stub classes from the WSDL provided by your webservice. Afterwards you can use a java task to call this stub classes directly or you can create a class making calls to the stub classes (probobably the better solution). The java and the custom task are the only ones suitable for automatic activities. The user tasks (as the name implies) is just for user interaction via task-forms or any other GUI.
Thank you very much for clearification.