Problem running customized BPEL processes
riveraej May 11, 2009 11:45 PMHello everybody...
I come to you (honestly as a newbie) asking for some help.
My problem is this:
I need to design and run BPEL Processes with JBoss. In order to do that I am using:
-Windows Plattform
-jdk1.5.0_17
-jboss-4.2.2.GA
-jbpm-bpel-1.1.GA.
I have succesfully installed the above mentioned software and even I managed to succesfully run almost all the included examples in the jbpm-bpel package.
I have already designed and deployed my bpel proccess. Apparently until this step everything goes excellent, because Jboss accepts it without errors or warnings.
The problem comes when I try to run my own Test Class. When I try to do it, I obtain an error as a result. The resulting xml report shows the next error description:
javax.naming.NameNotFoundException: jbpmbpel-client not bound at org.jnp.server.NamingServer.getBinding(NamingServer.java:529) at org.jnp.server.NamingServer.getBinding(NamingServer.java:537) at org.jnp.server.NamingServer.getObject(NamingServer.java:543) at org.jnp.server.NamingServer.lookup(NamingServer.java:296) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294) at sun.rmi.transport.Transport$1.run(Transport.java:153) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:149) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707) at java.lang.Thread.run(Thread.java:595) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126) at org.jnp.server.NamingServer_Stub.lookup(Unknown Source) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627) at javax.naming.InitialContext.lookup(InitialContext.java:351) at org.jboss.naming.client.java.javaURLContextFactory$EncContextProxy.invoke(javaURLContextFactory.java:129) at $Proxy0.lookup(Unknown Source) at javax.naming.InitialContext.lookup(InitialContext.java:351) at mx.itesm.bpel.order.OrderTest.setUp(OrderTest.java:27)
According to my current google investigation, It looks like the client couldn't be depoloyed to the server. Nevertheless it seems strange to me, because as I already commented I was able to run the examples from the package.
Next I place some possibly useful code:
application-client.xml
<?xml version="1.0" encoding="UTF-8"?>
<application-client version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<display-name>Purchase Order Service Client</display-name>
<service-ref>
<!-- JNDI name for Service instance, chosen by the user -->
<service-ref-name>service/Order</service-ref-name>
<!-- fully qualified name of Service interface, generated by the mapping tool -->
<service-interface>org.jbpm.bpel.tutorial.hello.PurchaseOrderService</service-interface>
<!-- published WSDL document, taken from server -->
<wsdl-file>META-INF/wsdl/order-service.wsdl</wsdl-file>
<!-- Java mapping document, generated by the mapping tool -->
<jaxrpc-mapping-file>META-INF/order-mapping.xml</jaxrpc-mapping-file>
</service-ref>
</application-client>
jboss-client.xml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE jboss-client PUBLIC "-//JBoss//DTD Application Client 4.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss-client_4_0.dtd">
<jboss-client>
<!-- JNDI name for client environment context, chosen by the user -->
<jndi-name>jbpmbpel-client</jndi-name>
</jboss-client>
wstools.xml
<?xml version="1.0"?>
<package-namespace package="mx.itesm.bpel.order"
namespace="http://www.itesm.mx/bpel/order" />
<wsdl-java file="wsdl/order-service.wsdl">
</wsdl-java>
wscompile.xml
<?xml version="1.0"?>
OrderTest.java
package mx.itesm.bpel.order;
import javax.naming.InitialContext;
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import junit.framework.Test;
import junit.framework.TestCase;
import org.jbpm.bpel.tools.ModuleDeployTestSetup;
/**
* @author: Ernesto J. Rivera
* @version: 0.5 $Date: 2009/02/28 12:32:25 $
**/
public class OrderTest extends TestCase{
private PurchaseOrderService orderService;
protected void setUp() throws Exception {
InitialContext iniCtx = new InitialContext();
/*
* "service/Order" is the JNDI name of the service interface instance relative to the client
* environment context. This name matches the <service-ref-name> in application-client.xml
*
*/
orderService = (PurchaseOrderService) iniCtx.lookup("java:comp/env/service/Order");
}
public void testDispatchData_proxy() throws Exception {
java.math.BigInteger id= new java.math.BigInteger("1");
// obtain dynamic proxy for web service port
DispatcherPT proxy = orderService.getDispatcherPort();
// use proxy as local java object
String data = proxy.dispatchData(id);
System.out.println(data);
// check proper greeting
assertEquals("something", data);
}
}
Any help and suggestions would be truly appreciated, if some more code is needed please ask for it and i'll paste it.