Hello @all, i have written a BPEL-process(Invoker-process) which call the HelloWolrd-WS. The deploying steps (similar like deploy the hello-process) where OK. I create a Junit-Test to test my application and some thing is wrong with the port.
I have first succefully deploy the hello-process (from the jbpm.bpel-examples) wich is avialable as web service on the Jbosss-AS. Please correct me if this way trying to make the Hello-process as web service avialable is OK. Running the test case for the invokerprocess has some isues: the system can instanciate the invoker-process but calling the hello process failed although it's avialable as service. What i'm expecting hier when i call the invoker-process is to see an instanciation of this and the helloWorld process so that i can see the execution of the invoker- HelloWorld process take respectively 50 ms and 30 ms (for example). To my configuration: JBoss AS-4.0.3-SP1, jbpm-3.0.3, jbpm-bpel-1.0-alpha4, mysql The Error: | Buildfile: C:\OrdnerHyrarchie\MyCourses\Diplomarbeit\KOM\jBPM\Engine\jbpm-bpel-1.0-alpha4\doc\examples\invoker\build.xml | compile-test: | run-test: | [junit] Testsuite: org.jbpm.bpel.tutorial.invoker.InvokerTest | [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 63,662 sec | [junit] ------------- Standard Output --------------- | [junit] 12:01:41,305 DEBUG SecurityAssociation : Using ThreadLocal: false | [junit] 12:02:42,023 ERROR PortProxy : Port error | [junit] java.net.SocketTimeoutException: Read timed out | [junit] at java.net.SocketInputStream.socketRead0(Native Method) | [junit] at java.net.SocketInputStream.read(SocketInputStream.java:129) | [junit] at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) | [junit] at java.io.BufferedInputStream.read(BufferedInputStream.java:235) | [junit] at org.jboss.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:571) | [junit] at org.jboss.axis.transport.http.HTTPSender.invoke(HTTPSender.java:135) | [junit] at org.jboss.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73) | [junit] at org.jboss.axis.SimpleChain.doVisiting(SimpleChain.java:160) | [junit] at org.jboss.axis.SimpleChain.invoke(SimpleChain.java:123) | [junit] at org.jboss.webservice.client.ClientEngine.invoke(ClientEngine.java:128) | [junit] at org.jboss.axis.client.Call.invokeEngine(Call.java:3079) | [junit] at org.jboss.axis.client.Call.invoke(Call.java:3064) | [junit] at org.jboss.axis.client.Call.invoke(Call.java:2652) | [junit] at org.jboss.axis.client.Call.invoke(Call.java:2561) | [junit] at org.jboss.axis.client.Call.invokeInternal(Call.java:1982) | [junit] at org.jboss.axis.client.Call.invoke(Call.java:1920) | [junit] at org.jboss.webservice.client.CallImpl.invoke(CallImpl.java:265) | [junit] at org.jboss.axis.client.AxisClientProxy.invokeSEIMethod(AxisClientProxy.java:286) | [junit] at org.jboss.webservice.client.PortProxy.invoke(PortProxy.java:177) | [junit] at $Proxy3.callHelloProcess(Unknown Source) | [junit] at org.jbpm.bpel.tutorial.invoker.InvokerTest.testCallHelloProcess(InvokerTest.java:32) | [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | [junit] at java.lang.reflect.Method.invoke(Method.java:585) | [junit] at junit.framework.TestCase.runTest(TestCase.java:154) | [junit] at junit.framework.TestCase.runBare(TestCase.java:127) | [junit] at junit.framework.TestResult$1.protect(TestResult.java:106) | [junit] at junit.framework.TestResult.runProtected(TestResult.java:124) | [junit] at junit.framework.TestResult.run(TestResult.java:109) | [junit] at junit.framework.TestCase.run(TestCase.java:118) | [junit] at junit.framework.TestSuite.runTest(TestSuite.java:208) | [junit] at junit.framework.TestSuite.run(TestSuite.java:203) | [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:297) | [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeInVM(JUnitTask.java:1072) | [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:682) | [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeOrQueue(JUnitTask.java:1434) | [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:632) | [junit] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) | [junit] at org.apache.tools.ant.Task.perform(Task.java:364) | [junit] at org.apache.tools.ant.Target.execute(Target.java:341) | [junit] at org.apache.tools.ant.Target.performTasks(Target.java:369) | [junit] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216) | [junit] at org.apache.tools.ant.Project.executeTarget(Project.java:1185) | [junit] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40) | [junit] at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) | [junit] at org.apache.tools.ant.Project.executeTargets(Project.java:1068) | [junit] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423) | [junit] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137) | [junit] ------------- ---------------- --------------- | [junit] Testcase: testCallHelloProcess(org.jbpm.bpel.tutorial.invoker.InvokerTest): Caused an ERROR | [junit] null | [junit] java.lang.reflect.UndeclaredThrowableException | [junit] at $Proxy3.callHelloProcess(Unknown Source) | [junit] at org.jbpm.bpel.tutorial.invoker.InvokerTest.testCallHelloProcess(InvokerTest.java:32) | [junit] at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) | [junit] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423) | [junit] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137) | [junit] Caused by: java.net.SocketTimeoutException: Read timed out | [junit] at java.net.SocketInputStream.socketRead0(Native Method) | [junit] at java.net.SocketInputStream.read(SocketInputStream.java:129) | [junit] at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) | [junit] at java.io.BufferedInputStream.read(BufferedInputStream.java:235) | [junit] at org.jboss.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:571) | [junit] at org.jboss.axis.transport.http.HTTPSender.invoke(HTTPSender.java:135) | [junit] at org.jboss.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73) | [junit] at org.jboss.axis.SimpleChain.doVisiting(SimpleChain.java:160) | [junit] at org.jboss.axis.SimpleChain.invoke(SimpleChain.java:123) | [junit] at org.jboss.webservice.client.ClientEngine.invoke(ClientEngine.java:128) | [junit] at org.jboss.axis.client.Call.invokeEngine(Call.java:3079) | [junit] at org.jboss.axis.client.Call.invoke(Call.java:3064) | [junit] at org.jboss.axis.client.Call.invoke(Call.java:2652) | [junit] at org.jboss.axis.client.Call.invoke(Call.java:2561) | [junit] at org.jboss.axis.client.Call.invokeInternal(Call.java:1982) | [junit] at org.jboss.axis.client.Call.invoke(Call.java:1920) | [junit] at org.jboss.webservice.client.CallImpl.invoke(CallImpl.java:265) | [junit] at org.jboss.axis.client.AxisClientProxy.invokeSEIMethod(AxisClientProxy.java:286) | [junit] at org.jboss.webservice.client.PortProxy.invoke(PortProxy.java:177) | [junit] ... 30 more | [junit] Test org.jbpm.bpel.tutorial.invoker.InvokerTest FAILED | BUILD SUCCESSFUL | Total time: 1 minute 6 seconds | | and my files: invoker.wsdl: | <?xml version="1.0" encoding="UTF-8"?> | <definitions targetNamespace="http://jbpm.org/examples/invoker" | xmlns:tns="http://jbpm.org/examples/invoker" | xmlns:xsd="http://www.w3.org/2001/XMLSchema" | xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns="http://schemas.xmlsoap.org/wsdl/" | xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ | http://schemas.xmlsoap.org/wsdl/ | http://schemas.xmlsoap.org/ws/2003/05/partner-link/ | http://schemas.xmlsoap.org/ws/2003/05/partner-link/"> | <plt:partnerLinkType name="greeterPLT"> | <plt:role name="greeter"> | <plt:portType name="tns:invokerPT"/> | </plt:role> | </plt:partnerLinkType> | <message name="forwardNameMessage"> | <part name="forwardName" type="xsd:string"/> | </message> | <message name="forwardGreetingMessage"> | <part name="forwardGreeting" type="xsd:string"/> | </message> | <portType name="invokerPT"> | <operation name="callHelloProcess"> | <input message="tns:forwardNameMessage"/> | <output message="tns:forwardGreetingMessage"/> | </operation> | </portType> | </definitions> | | invoker.bpel: | <?xml version="1.0" encoding="UTF-8"?> | <process name="invoker" | targetNamespace="http://jbpm.org/examples/invoker" | xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" | xmlns:tns="http://jbpm.org/examples/simpleServiceInvoker" | xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/" | xmlns:invokerns="http://jbpm.org/examples/invoker" | xmlns:hellons="http://jbpm.org/examples/hello" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xsi:schemaLocation="http://schemas.xmlsoap.org/ws/2003/03/business-process/ | http://schemas.xmlsoap.org/ws/2003/03/business-process/"> | <partnerLinks> | <partnerLink name="clientProcess" partnerLinkType="invokerns:greeterPLT" myRole="greeter"/> | <partnerLink name="processService" partnerLinkType="hellons:helloPLT" partnerRole="service"/> | </partnerLinks> | <!-- The variable part helps to hold, copy, store the message exchanged between the Partners --> | <variables> | <variable name="inputProcess" messageType="invokerns:forwardNameMessage"/> | <variable name="outputProcess" messageType="invokerns:forwardGreetingMessage"/> | <variable name="inputService" messageType="hellons:nameMessage"/> | <variable name="outputService" messageType="hellons:greetingMessage"/> | </variables> | <sequence name="ReceiveInvokeReply"> | <!--After the instance of this process receives a message this will be put in the inputProcess Container and the invoke-activity will take place. --> | <receive name="ReceiveNameStringFROMClient" partnerLink="clientProcess" portType="invokerns:invokerPT" | operation="callHelloProcess" variable="inputProcess" createInstance="yes"/> | <assign name="forwardNameMessageTONameMessage"> | <copy> | <from variable="inputProcess" part="forwardName"/> | <to variable="inputService" part="name"/> | </copy> | </assign> | <!-- The invoke activity will take place. The result of the invokation will then be store in the variable outputService--> | <invoke name="InvokeHelloProcess" partnerLink="processService" portType="hellons:helloPT" | operation="sayHello" inputVariable="inputService" outputVariable="outputService"/> | <assign name="returnCopy"> | <copy> | <from variable="outputService" part="greeting"/> | <to variable="outputProcess" part="forwardGreeting"/> | </copy> | </assign> | <reply name="ForwardHelloProcessResponse" partnerLink="clientProcess" portType="invokerns:invokerPT" | operation="callHelloProcess" variable="outputProcess"/> | </sequence> | </process> | | hello.wsdl: | <?xml version="1.0" encoding="UTF-8"?> | <definitions | xmlns:tns="http://jbpm.org/examples/hello" | xmlns:xsd="http://www.w3.org/2001/XMLSchema" | xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns="http://schemas.xmlsoap.org/wsdl/" | argetNamespace="http://jbpm.org/examples/hello" | xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ | http://schemas.xmlsoap.org/wsdl/ | http://schemas.xmlsoap.org/ws/2003/05/partner-link/ | http://schemas.xmlsoap.org/ws/2003/05/partner-link/"> | <message name="nameMessage"> | <part name="name" type="xsd:string"/> | </message> | <message name="greetingMessage"> | <part name="greeting" type="xsd:string"/> | </message> | <portType name="helloPT"> | <operation name="sayHello"> | <input message="tns:nameMessage"/> | <output message="tns:greetingMessage"/> | </operation> | </portType> | <!-- characterizes the relationship between the process and its caller --> | <plt:partnerLinkType name="helloPLT"> | <plt:role name="service"> | <plt:portType name="tns:helloPT"/> | </plt:role> | </plt:partnerLinkType> | </definitions> | | 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 bound to the client's environment context --> | <jndi-name>invoker-client</jndi-name> | <service-ref> | <!-- the service-ref element to configure --> | <service-ref-name>service/Invoker</service-ref-name> | <!-- published WSDL file --> | <wsdl-override>http://localhost:8080/invoker/invoker?wsdl</wsdl-override> | </service-ref> | </jboss-client> | | webservices.xml | | <?xml version="1.0" encoding="UTF-8"?> | <webservices version="1.1" xmlns="http://java.sun.com/xml/ns/j2ee" | xmlns:impl="http://www.jbpm.org/examples/invoker" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee | http://java.sun.com/xml/ns/j2ee/j2ee_web_services_1_1.xsd"> | <webservice-description> | | <!-- descriptive name for the service --> | <webservice-description-name>Invoker Service</webservice-description-name> | <!-- WSDL service file --> | <wsdl-file>WEB-INF/wsdl/service.wsdl</wsdl-file> | <!-- Java<->XML mapping file --> | <jaxrpc-mapping-file>WEB-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file> | | <port-component> | <!-- logical name for the port (unique within the module) --> | <port-component-name>clientProcessPort</port-component-name> | | <!-- WSDL port element (in WSDL implementation file) --> | <wsdl-port>impl:clientProcessPort</wsdl-port> | | | <!-- service endpoint interface class (step 4.2) --> | <service-endpoint-interface> | org.jbpm.bpel.tutorial.invoker.InvokerPT | </service-endpoint-interface> | | <!-- associated servlet (in web-app [web.xml] descriptor) --> | <service-impl-bean> | <servlet-link>invokerServlet</servlet-link> | </service-impl-bean> | <handler> | | <!-- logical name for the handler (unique within the module) --> | <handler-name>invokerHandler</handler-name> | <!-- handler class (in BPEL extension library) --> | <handler-class>org.jbpm.bpel.service.messager.PortHandler</handler-class> | <init-param> | <description>name of the associated partner link which match to myRole </description> | <param-name>portName</param-name> | <param-value>clientProcess</param-value> | </init-param> | </handler> | </port-component> | </webservice-description> | </webservices> | | jboss-web.xml | | <?xml version="1.0" encoding="UTF-8" ?> | <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.4//EN" | "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd"> | <jboss-web> | <resource-ref> | <res-ref-name>jms/ConnectionFactory</res-ref-name> | <jndi-name>java:ConnectionFactory</jndi-name> | </resource-ref> | <message-destination-ref> | <message-destination-ref-name>jms/clientProcessQueue</message-destination-ref-name> | <jndi-name>queue/testQueueClientProcess</jndi-name> | </message-destination-ref> | </jboss-web> | | bpel-application.xml | | <?xml version="1.0" encoding="UTF-8"?> | <bpelApplication name="invoker" xmlns="http://jbpm.org/bpel" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xsi:schemaLocation="http://jbpm.org/bpel | http://jbpm.org/bpel/bpel_application_1_0.xsd"> | <partnerLinks> | <partnerLink name="clientProcess"> | <!-- name bound to the queue assigned to this partner link --> | <myRole destination="jms/clientProcessQueue" /> | </partnerLink> | | <!-- WHEN DEPLOYING THE WEBAPPLICATION TO JBOSS THE PARTNERLINKREFERENCE PROCESSSERVICE CAUSE AN. | WE NEED A PARTNERLINK ELEMENT ONLY FOR PARTNERLINK WHERE THE PROCESS HAS THE MYROLE --> | <!--partnerLink name="processService"--> | <!-- name bound to the queue assigned to this partner link --> | <!--myRole destination="jms/processServiceQueue" /> | </partnerLink--> | </partnerLinks> | </bpelApplication> | | | InvokerTest.java | package org.jbpm.bpel.tutorial.invoker; | | import java.util.Properties; | import javax.naming.InitialContext; | import javax.naming.NamingException; | import junit.framework.TestCase; | | public class InvokerTest extends TestCase { | | private InvokerPT greeter; | | public InvokerTest(String forwardName) { | super(forwardName); | } | | protected void setUp() throws Exception { | InitialContext ctx = getInitialContext(); | // JNDI name bound to the service interface (in application-client.xml) | String serviceRefName = "service/Invoker"; | // lookup the service interface in the environment context | InvokerService service = (InvokerService) ctx.lookup("java:comp/env/" + serviceRefName); | // obtain the dynamic proxy for the web service port | greeter = service.getClientProcessPort(); | } | | public void testCallHelloProcess() throws Exception { | String forwardName = "Popeye"; | String forwardGreeting = greeter.callHelloProcess(forwardName); | assertEquals("Hello, Popeye!", forwardGreeting); | } | | protected InitialContext getInitialContext() throws NamingException { | // JNDI name bound to the client's environment context (in jboss-client.xml) | String envContextName = "invoker-client"; | // prepare the enviroment | Properties env = new Properties(); | env.setProperty("j2ee.clientName", envContextName); | // the properties in env *and* jndi.properties are placed in the context's environment | return new InitialContext(env); | } | } | Some one has any idee what is wrong in my Junit Test ? Please your urgently help will be very appreciated. Best regards Bertrand Njipwo View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3955792#3955792 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3955792 Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user