2 Replies Latest reply on May 22, 2009 6:48 PM by amit roy

    Problem running customized BPEL processes

    Ernesto Rivera Newbie

      Hello 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.