Hello,
I' working with Eclipse europa and the Eclipse BPEL Designer Runtimes 0.2.0.
The server is jBoss 4.0.5 GA with jbpm-bpel-1.1.GA.
I'm developing a very simple bpel process with an invocation to a external web
service (the ticket service of the atm example).
I have the following files:
ticket.wsdl greet.wsdl greetArtifacts.wsdl greet.bpel greet.bpelex WsClient.java
Desc of each file
Ticket.wsdl: interface to ticket web-service
greet.bpel: process file
greet.bpelex: bpel extensions file (automatically generated)
greet.wsdl: interface to bpel process
greetArtifacts.wsdl: automatically generated
WsClient.java: Java client program to invoke the service
Code of each file:
-----------------------------greet.bpel--------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<bpws:process exitOnStandardFault="yes" name="greet"
targetNamespace="http://eclipse.org/bpel/sample"
xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:grt="http://eclipse.org/bpel/sample"
xmlns:ns="http://eclipse.org/bpel/sampleArtifacts"
xmlns:tic="http://jbpm.org/examples/ticket"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="greet.wsdl" namespace="http://eclipse.org/bpel/sample"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="interface/ticket.wsdl"
namespace="http://jbpm.org/examples/ticket"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="greetArtifacts.wsdl"
namespace="http://eclipse.org/bpel/sampleArtifacts"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="interface/ticket.wsdl"
namespace="http://jbpm.org/examples/ticket"/>
<bpws:partnerLinks>
<bpws:partnerLink myRole="greetProvider" name="client"
partnerLinkType="grt:greet"/>
<bpws:partnerLink name="ticket"
partnerLinkType="ns:Front-Ticket" partnerRole="TicketIssuer"/>
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable messageType="tic:ticketMessage" name="ticketResponse"/>
<bpws:variable messageType="tic:ticketRequest" name="ticketRequest"/>
</bpws:variables>
<bpws:sequence name="main">
<bpws:receive createInstance="yes" name="receiveInput"
operation="process" partnerLink="client"
portType="grt:greet" variable="ticketRequest"/>
<bpws:invoke inputVariable="ticketRequest" name="CreateTicket"
operation="createTicket" outputVariable="ticketResponse"
partnerLink="ticket" portType="tic:TicketIssuer"/>
<bpws:reply name="replyOutput" operation="process"
partnerLink="client" portType="grt:greet"
variable="ticketResponse"/>
</bpws:sequence>
</bpws:process>
-------------------------------------------------------------------------------------
----------------------------------greet.bpelex------------------------------------
<?xml version="1.0" encoding="ASCII"?>
<extensionmodel:ExtensionMap xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:extensionmodel="http:///extensionmodel.ecore"
xmlns:org.eclipse.bpel.ui.uiextensionmodel="http:///org/eclipse/bpel/ui/uiextensionmodel.ecore"
namespace="http://org.eclipse.bpel.ui/">
<extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
<extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
<extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
<extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
<extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
<extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension"
modificationStamp="1201170068297"/>
<extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
<extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensionmodel:ExtensionMap>
--------------------------------------------------------------------------------------
-----------------------------------greet.wsdl---------------------------------------
<?xml version="1.0"?>
<definitions name="greet"
targetNamespace="http://eclipse.org/bpel/sample"
xmlns:grt="http://eclipse.org/bpel/sample"
xmlns:tic="http://jbpm.org/examples/ticket"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPE DEFINITION - List of types participating in this BPEL process
The BPEL Designer will generate default request and response types
but you can define or import any XML Schema type and use them as part
of the message types.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!--
-->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MESSAGE TYPE DEFINITION - Definition of the message types used as
part of the port type defintions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!--
-->
<!--
-->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- portType implemented by the greet BPEL process -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PARTNER LINK TYPE DEFINITION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<plnk:partnerLinkType name="greet">
<plnk:role name="greetProvider" portType="grt:greet"/>
</plnk:partnerLinkType>
--------------------------------------------------------------------------------------
------------------------------------greetArtifacts.wsdl----------------------------
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<definitions xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:tns="http://eclipse.org/bpel/sampleArtifacts"
xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
xmlns:wsdl="http://jbpm.org/examples/ticket" name="greetArtifacts"
targetNamespace="http://eclipse.org/bpel/sampleArtifacts"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<plnk:partnerLinkType name="Front-Ticket">
<plnk:role name="TicketIssuer" portType="wsdl:TicketIssuer"/>
</plnk:partnerLinkType>
--------------------------------------------------------------------------------------
---------------------------------ticket.wsdl-----------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions targetNamespace="http://jbpm.org/examples/ticket"
xmlns:tns="http://jbpm.org/examples/ticket"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/">
ticket creation request
ticket number wrapper
interface to ticket issuer service
generate a ticket number, distinct from previous calls
--------------------------------------------------------------------------------------
----------------------------------WsClient.java------------------------------------
package com.test;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceFactory;
public class WsClient
{
private static String invokeWS() throws Exception
{
Service service;
String namespace = "http://eclipse.org/bpel/sample";
//In out case: "http://net.luminis.bpel"
URL url = new
URL("http://ddc1a-01-378:8080/greet/greetProvider?wsdl");
//Our location:
"http://localhost:8080/active-bpel/services/ProofOfConcept?wsdl"
QName qname = new QName(namespace, "greetService");
ServiceFactory factory = ServiceFactory.newInstance();
service = factory.createService(url, qname);
QName operation = new QName(namespace, "process");
QName port = new QName(namespace, "greetProviderPort");
Call call = service.createCall(port, operation);
return (String) call.invoke(null);
}
public static void main(String[] args)
{
try {
System.out.println("Invoke: " + invokeWS() );
System.out.println("XercesImpl version being used: " +
org.apache.xerces.impl.Version.getVersion());
} catch (Exception e) {
// System.out.println("An error has occured!");
//System.out.println(e);
e.printStackTrace();
}
}
}
--------------------------------------------------------------------------------------
The BPEL process is getting deployed but when I try to invoke the process
through client program, following exceptions occur in java console:
java.rmi.ServerException: The service is not in an appropiate state for the
requested operation
at
com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:510)
at
com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:307)
at
com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:103)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:486)
at com.test.WsClient.invokeWS(WsClient.java:32)
at com.test.WsClient.main(WsClient.java:38)
and following exceptions in jboss console:
2008-01-25 13:18:41,622 ERROR [org.jbpm.bpel.integration.jms.StartListener]
request delivery failed due to non-recoverable exception, giving up
org.jbpm.bpel.BpelException: no port implements the required port type:
portType={http://jbpm.org/examples/ticket}TicketIssuer
at
org.jbpm.bpel.endpointref.SoapEndpointReference.selectPort(SoapEndpointReference.java:97)
at
org.jbpm.bpel.endpointref.SoapEndpointReference.selectPort(SoapEndpointReference.java:52)
at
org.jbpm.bpel.integration.jms.IntegrationControl.createPartnerClient(IntegrationControl.java:258)
at
org.jbpm.bpel.integration.jms.IntegrationControl.getPartnerClient(IntegrationControl.java:239)
at
org.jbpm.bpel.integration.jms.JmsIntegrationService.invoke(JmsIntegrationService.java:172)
at
org.jbpm.bpel.integration.def.InvokeAction.execute(InvokeAction.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185)
at org.jbpm.graph.def.Action$$EnhancerByCGLIB$$d59d8d76.execute()
at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
at org.jbpm.graph.def.Node.execute(Node.java:339)
at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:110)
at org.jbpm.graph.def.Transition.take(Transition.java:151)
at org.jbpm.graph.def.Node.leave(Node.java:394)
at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:200)
at org.jbpm.bpel.graph.basic.Receive.messageReceived(Receive.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185)
at
org.jbpm.bpel.graph.basic.Receive$$EnhancerByCGLIB$$952e287.messageReceived()
at
org.jbpm.bpel.integration.def.ReceiveAction.deliverMessage(ReceiveAction.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185)
at
org.jbpm.bpel.integration.def.ReceiveAction$$EnhancerByCGLIB$$88609d70.deliverMessage()
at
org.jbpm.bpel.integration.jms.StartListener.deliverRequest(StartListener.java:222)
at
org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.java:168)
at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:696)
at java.lang.Thread.run(Thread.java:595)
Please, can someone help me?
Sorry for the long post and thanks in advance
Shefali
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4123338#4123338
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4123338
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user