How : Invoke asynchronous BPM process with callback within loop?
Hi All,
I'm currently using the 11g suite to create 2 BPM processes (Validate and Review). Process Validate is asynchronous and has a callback facility. I intend to invoke Validate from Review as a subprocess. My question would be, is it possible to invoke an asynchronous process with a call back? Can this be done in a loop?
JDev : 111.1.1.4
Thanks,
PP.
Sai,
Which IDE are you using to build the client? (In fact it doesn't matter)
Just put the jar files path into the classpath as John told. In order to find which jar files you need in this process, you can use eclipse java - jar class finder (which works with NWDS as well). Give it the class name(in this case commons.bla.bla...) and your jar files' folder, it will show you which jar file you need to put into the classpath.
Just a little googling may help you with the class finder
Similar Messages
-
Invoking a bpm process with web services with a return value
Hello,
Im invoking a bpm process in my application using web services. The problem is that I want to get a responde with the process id of the created process, but not wait for the finishing of the process. Is this possible?
thank youAssuming this is for Oracle BPM 11g.
I'm a novice at this and sure others will have infinitely better ideas (have I lowered your expectations enough?), but here are two thoughts. Both of these ideas assume that your child process was invoked by an Oracle BPM parent process.
When you expose a process as a web service and invoke it asynchronously from a parent process, there is a call back service available. I've yet to figure out exactly how to get it to work, but if you look at the "Start" event's property in the composite (it's the service) you will see the callback information in the bottom dropdown. I believe what this means is that from your child process, you can use a Service activity to invoke a service that invokes the callback service back to the parent process's Service activity.
My other idea (you're not going to like this one) would be to to invoke the subprocess using a Message Start Event activity instead of the Service activity you're currently using. If you go this route, then you could have your parent process kick off the child subprocess using a Message Start Event activity and then immediately after this have a Message Catch Event activity. The child process could have a Message Throw Event activity immediately after its Start Message Event activity that sends a notification to the parent process. The good part about this is that I've actually gotten this to work.
You can send argument information back to the parent process, but (sorry) I don't yet know how to capture the process id.
Wish I could be of more help and hope this helps a little. -
Issue about Invoking a BPEL Process with the Generic Java API
I Invoking a BPEL Process with the Generic Java API and apache axis or axis2
it turn up a error as follow:
org.apache.axis2.AxisFault: ORABPEL-08021
Cannot find partner wsdl.
parnterLink "BPELProcess1" is not found in process "BPELProcess1" (revision "v2008_11_17__38943").
Please check the deployment descriptor of the process to find the correct partnerLink name.
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
at wf.Test_axis2_callws.main(Test_axis2_callws.java:41)
i can't solve it !
what's problem ???
anyone use java code to invoke bpel process successfully..can show me some example?
thanks
chanHi,
Check below link may help you solve your problem.
http://www.activevos.com/cec/samples/content/sample-invoke/doc/index.html
Regards -
How to Integrate HCM Process with Webdynpro ABAP Application
hi,
I have issue regarding how to integrate HCM Process with Webdynpro abap application.
I had created one HCM process for transfer using Hrasr_dt T code and also created form scenario and work flow.
How to Integrate HCM Process with Webdynpro ABAP Application
by
Parthasarathihi suhasini,
Thanks for your reply,
Can u explain in detail.. and Give any documents or links...
by
Parthasarathi -
How to use batch processing with jpg pictures taken with iphone cameras?
How to use batch processing with jpg pictures taken with iphone cameras?
Open the editor . Go to file>process multiple files
Sent from my iPad -
How deploy BPM process with ADF form?
Hi everybody,
I'm a newbie on BPM (11g) and ADF. I've created a BPM process and an ADF train into the same project.
I was wonder if I can deploy the ADF stuff and start to test only the train before hook up the ADF form with the UserActivity.
How I can do that? How can deploy it? Better create a jar or ear?
Any suggestions?
Best Regards.
FairlieHi Daniel,
yes I have two separate projects - BPM and ADF - in the same applications.
For now, I'd like to work only on ADF project implementing the front end that I will use in next future into my BPM project.
Every time I click on Run on the main page in ADF project, JDev tries to deploy the entire application.
I need to work only on ADF for now and testing it. The soa server is on remote server.
I've tried to deploy the ADF project on remote server and I get this error:
'Weblogic Server Exception: weblogic.application.ModuleException: Failed to load webapp
Caused by: java.lang.ClassNotFoundException: oracle.adf.model.servlet.ADFBindingFilter'.
I've checked the oracle.adf.model library class path and It's ok...so I do not understand why I get this error.
What do you think is better to do? Trying to deploy the ADF with war, jar or ear...or...?
Thanks a lot for any suggestions.
Fairlie -
Problem in invoking a BPEL process with complex input
Hi,
I have an asynchronous BPEL process which has a complex request schema. When I try to invoke the process through BPEL Console, it works properly. But when invoking it through Java API, it seems that the input soap message is not well received by the process. Here are relevant files:
*==============-BPEL file==================*
<?xml version = "1.0" encoding = "UTF-8" ?>
<process name="MapCopyProject"
targetNamespace="http://mapcopyservices/"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
xmlns:ns4="http://mapcopyservices/"
xmlns:ns3="http://mapcopyservices/types/"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow">
<!--
PARTNERLINKS
List of services participating in this BPEL process
-->
<partnerLinks>
<partnerLink name="MapCheckService" partnerLinkType="ns4:MapCheckService_PL"
partnerRole="MapCheckService_Role"/>
<partnerLink myRole="TotalBPELProcessProvider" name="TotalBPELProcess"
partnerRole="TotalBPELProcessRequester"
partnerLinkType="ns4:TotalBPELProcess"/>
<partnerLink name="MapActionService" partnerRole="MapActionService_Role"
partnerLinkType="ns4:MapActionService_PL"/>
</partnerLinks>
<variables>
<variable name="ClientInput"
messageType="ns4:TotalBPELProcessRequestMessage"/>
<variable name="ClientOutput"
messageType="ns4:TotalBPELProcessResponseMessage"/>
<variable name="CheckSourceExistance_Output"
messageType="ns4:MapCheckService_checkSourceExistanceResponse"/>
<variable name="CheckSourceExistance_Input"
messageType="ns4:MapCheckService_checkSourceExistance"/>
<variable name="GetCoordinateSystemType_Output"
messageType="ns4:MapCheckService_getCoordinateSystemTypeResponse"/>
<variable name="GetCoordinateSystemType_Input"
messageType="ns4:MapCheckService_getCoordinateSystemType"/>
<variable name="CheckSourceExistance2_Input"
messageType="ns4:MapCheckService_checkSourceExistance"/>
<variable name="CheckSourceExistance2_Output"
messageType="ns4:MapCheckService_checkSourceExistanceResponse"/>
<variable name="InvokeMapAction_Input"
messageType="ns4:MapActionService_CopyAndTransform"/>
<variable name="InvokeMapAction_Output"
messageType="ns4:MapActionService_CopyAndTransformResponse"/>
</variables>
<!--
VARIABLES
List of messages and XML documents used within this BPEL process
-->
<!--
ORCHESTRATION LOGIC
Set of activities coordinating the flow of messages across the
services integrated within this business process
-->
<sequence name="main">
<receive name="ReceiveInput" partnerLink="TotalBPELProcess"
portType="ns4:TotalBPELProcessInvoke" operation="initiate"
variable="ClientInput" createInstance="yes"/>
<flow name="Flow_1">
<sequence name="Sequence_1">
<assign name="Assign_3">
<copy>
<from variable="ClientInput" part="parameters"
query="/ns3:TotalBPELProcessRequest/ns3:destConn"/>
<to variable="CheckSourceExistance2_Input" part="parameters"
query="/ns3:checkSourceExistanceElement/ns3:MapConnection_1"/>
</copy>
</assign>
<invoke name="Invoke_CheckSource2" partnerLink="MapCheckService"
portType="ns4:MapCheckService" operation="checkSourceExistance"
inputVariable="CheckSourceExistance2_Input"
outputVariable="CheckSourceExistance2_Output"/>
</sequence>
<sequence name="Sequence_1">
<assign name="Assign_1">
<copy>
<from variable="ClientInput" part="parameters"
query="/ns3:TotalBPELProcessRequest/ns3:sourceConn"/>
<to variable="CheckSourceExistance_Input" part="parameters"
query="/ns3:checkSourceExistanceElement/ns3:MapConnection_1"/>
</copy>
</assign>
<invoke name="Invoke_CheckSource" partnerLink="MapCheckService"
portType="ns4:MapCheckService" operation="checkSourceExistance"
inputVariable="CheckSourceExistance_Input"
outputVariable="CheckSourceExistance_Output"/>
</sequence>
</flow>
<switch name="CheckSourceAndDest">
<case condition="string(bpws:getVariableData('CheckSourceExistance_Output','parameters','/ns3:checkSourceExistanceResponseElement/ns3:result'))='true' and string(bpws:getVariableData('CheckSourceExistance2_Output','parameters','/ns3:checkSourceExistanceResponseElement/ns3:result'))='true'">
<empty name="Empty_1"/>
</case>
<otherwise>
<terminate name="Terminate_1"/>
</otherwise>
</switch>
<assign name="Assign_4">
<copy>
<from variable="ClientInput" part="parameters"
query="/ns3:TotalBPELProcessRequest/ns3:sourceConn"/>
<to variable="GetCoordinateSystemType_Input" part="parameters"
query="/ns3:getCoordinateSystemTypeElement/ns3:MapConnection_1"/>
</copy>
</assign>
<invoke name="Invoke_GetCoSysType" partnerLink="MapCheckService"
portType="ns4:MapCheckService" operation="getCoordinateSystemType"
inputVariable="GetCoordinateSystemType_Input"
outputVariable="GetCoordinateSystemType_Output"/>
<switch name="CheckPossibility">
<case condition="number(bpws:getVariableData('GetCoordinateSystemType_Output','parameters','/ns3:getCoordinateSystemTypeResponseElement/ns3:result'))=number(bpws:getVariableData('ClientInput','parameters','/ns3:TotalBPELProcessRequest/ns3:transformMapType'))">
<empty name="Empty_2"/>
</case>
<otherwise>
<terminate name="Terminate_2"/>
</otherwise>
</switch>
<assign name="Assign_7">
<copy>
<from variable="ClientInput" part="parameters"
query="/ns3:TotalBPELProcessRequest/ns3:sourceConn"/>
<to variable="InvokeMapAction_Input" part="parameters"
query="/ns3:CopyAndTransformElement/ns3:sourceConn"/>
</copy>
<copy>
<from variable="ClientInput" part="parameters"
query="/ns3:TotalBPELProcessRequest/ns3:destConn"/>
<to variable="InvokeMapAction_Input" part="parameters"
query="/ns3:CopyAndTransformElement/ns3:destConn"/>
</copy>
<copy>
<from variable="ClientInput" part="parameters"
query="/ns3:TotalBPELProcessRequest/ns3:transformMapType"/>
<to variable="InvokeMapAction_Input" part="parameters"
query="/ns3:CopyAndTransformElement/ns3:transformMapType"/>
</copy>
</assign>
<invoke name="Invoke_MapAction" partnerLink="MapActionService"
portType="ns4:MapActionService" operation="CopyAndTransform"
inputVariable="InvokeMapAction_Input"
outputVariable="InvokeMapAction_Output"/>
<assign name="Assign_6">
<copy>
<from variable="InvokeMapAction_Output" part="parameters"
query="/ns3:CopyAndTransformResponseElement/ns3:result"/>
<to variable="ClientOutput" part="parameters"
query="/ns3:TotalBPELProcessResponse/ns3:result"/>
</copy>
</assign>
<invoke name="Invoke_CallBack" partnerLink="TotalBPELProcess"
portType="ns4:TotalBPELProcessCallback" operation="onResult"
inputVariable="ClientOutput"/>
</sequence>
</process>
*==================WSDL file of process invoke port================*
<definitions
name="TotalBPELProcess"
targetNamespace="http://mapcopyservices/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://mapcopyservices/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:tns0="http://mapcopyservices/types/"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
>
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://mapcopyservices/types/"
elementFormDefault="qualified" xmlns:tns="http://mapcopyservices/types/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
<complexType name="MapConnection">
<sequence>
<element name="layerName" type="string" nillable="true"/>
<element name="connString" type="string" nillable="true"/>
<element name="mapType" type="int"/>
</sequence>
</complexType>
<element name="TotalBPELProcessRequest">
<complexType>
<sequence>
<element name="sourceConn" type="tns:MapConnection" nillable="true"/>
<element name="destConn" type="tns:MapConnection" nillable="true"/>
<element name="transformMapType" type="int"/>
</sequence>
</complexType>
</element>
<element name="TotalBPELProcessResponse">
<complexType>
<sequence>
<element name="result" type="int"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="TotalBPELProcessRequestMessage">
<part name="parameters" element="tns0:TotalBPELProcessRequest"/>
</message>
<message name="TotalBPELProcessResponseMessage">
<part name="parameters" element="tns0:TotalBPELProcessResponse"/>
</message>
<portType name="TotalBPELProcessInvoke">
<operation name="initiate">
<input message="tns:TotalBPELProcessRequestMessage"/>
</operation>
</portType>
<!-- portType implemented by the requester of BPELProcess1 BPEL process
for asynchronous callback purposes
-->
<portType name="TotalBPELProcessCallback">
<operation name="onResult">
<input message="tns:TotalBPELProcessResponseMessage"/>
</operation>
</portType>
<plnk:partnerLinkType name="TotalBPELProcess">
<plnk:role name="TotalBPELProcessProvider">
<plnk:portType name="tns:TotalBPELProcessInvoke"/>
</plnk:role>
<plnk:role name="TotalBPELProcessRequester">
<plnk:portType name="tns:TotalBPELProcessCallback"/>
</plnk:role>
</plnk:partnerLinkType>
</definitions>
*===================JSP invoking file=====================*
<%@ page contentType="text/html;charset=windows-1252"%>
<%@page import="java.util.Map" %>
<%@page import="com.oracle.bpel.client.Locator" %>
<%@page import="com.oracle.bpel.client.NormalizedMessage" %>
<%@page import="com.oracle.bpel.client.delivery.IDeliveryService" %>
<%@page import="java.util.*" %>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.naming.InitialContext" %>
<%@ page import="javax.naming.NamingException" %>
<%@ page import="javax.rmi.PortableRemoteObject" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>CopyMap</title>
</head>
<body>
<%
try{
String xml =
"<ns100:TotalBPELProcessRequest xmlns:ns100=\"http://mapcopyservices/types/\">"+
"<ns100:sourceConn>"+
"<ns100:layerName>1</ns100:layerName>"+
"<ns100:connString>1</ns100:connString>"+
"<ns100:mapType>1</ns100:mapType>"+
"</ns100:sourceConn>"+
"<ns100:destConn>"+
"<ns100:layerName>1</ns100:layerName>"+
"<ns100:connString>1</ns100:connString>"+
"<ns100:mapType>1</ns100:mapType>"+
"</ns100:destConn>"+
"<ns100:transformMapType>1</ns100:transformMapType>"+
"</ns100:TotalBPELProcessRequest>";
Hashtable jndi = new Hashtable();
jndi.put(Context.PROVIDER_URL, "opmn:ormi://amir:6003:oc4j_soa/orabpel");
jndi.put(Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory");
jndi.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");
jndi.put(Context.SECURITY_CREDENTIALS, "as123456");
Locator locator = new Locator("default","as123456",jndi);
IDeliveryService deliveryService =
(IDeliveryService)locator.lookupService
(IDeliveryService.SERVICE_NAME );
NormalizedMessage nm = new NormalizedMessage( );
nm.addPart("payload", xml );
deliveryService.post("MapCopyProject", "initiate", nm);
out.println( "BPELProcess MapCopyProject initiated!<br>" );
catch(Exception ex){
out.println(ex.getMessage());
ex.printStackTrace();
%>
</body>
</html>
*===================================*
Error occurs in first assign activity like this:
*=========*
Error in evaluate <from> expression at line "97". The result is empty for the XPath expression : "/ns3:TotalBPELProcessRequest/ns3:sourceConn".
*=========*
Please tell me if you know how to solve it. ThanksIt sounds very much like a namespace issue.
As it works from the BPELConsole, fill in the values in the BPELConsole initiate page and switch from the HTML to the XML view. Copy the XML to Notepad or another suitable editor; then insert it as fixed values into the Java/JSP code and try to call the server with the hardcoded payload instead of the one you are generating.
You can also save the payload in the JSP (write it to a file or standard output) before the call; then open it in jDeveloper or Eclipse and validate it against the schema. That way you will find if the XML is invalid.
Also, check the flow in the BPELConsole. As it fails on an XPath expression you must have a process. If you click on the receive activity you can see the received payload. Again, copy that to jDeveloper or Eclipse and validate it. Also compare it to the XML you get if you initiate the process manuallly. There must be some difference.
If you still can't get it to work, post the XML from the initiate operation and from the JSP operation (as they are seen in the receive activity) and we can help you check them out! -
How to trigger BPM Process from SRM Portal
Hello Experts,
I'am new to BPM and NWDS 7.3 but experienced with Abap and NWDS 7.0 Development...
Before posting, i have been through the forum and couldn't find exact answer to my case..
Basicly what i need to do is to trigger BPM Processes on the BPM Server from SRM Portal Server, I'm aware that i can communicate between these servers with WSDL basicly but how am i going to call the BPM Process' Web Service from Standart SRM Processes?
These processes will be standart ones mostly and also i am new to SRM.
Kindest Regards,SAP SRM 7.0 user interface is developed in WebDynpro and runs on NetWeaver Portal (Portal was optional component in earlier versions of SRM but it is mandatory component now). So in order to call BPM Webservice (i.e., to trigger a BPM Process) from NetWeaver Portal / SRM 7.0 you can do the following
- Develop a custom application (using EJBs,etc) to call the BPM web service by creating a web service proxy client using NWDS and then deploying it on Portal Server.
- Directly create a model in WebDynpro project by using the WSDL of BPM trigger webservice (using NWDS). You can then call the model in WD User Interface, which in turn will invoke the BPM web service and start the process.
Hope this helps. -
How to change BPM process message mode
Hi,
I use JDeveloper 11.1.1.6 + BPM plugin. I created synchronous process with some activities. How to change it to asynchronous ?
KubaSomething similar to this should do
http://orasoa.blogspot.in/2007/03/convert-synchronous-proccess-to.html -
Invoking asynchronous BPEL process from java ui
Hi,
I am invoking an asynchronous BPEL process from java ui.
I read somewhere that i can obtain an instance handler uing the lookupInstance() method of class Locator using the conversation id provided by the class NormalizedMessage.
My code looks like this
// Connect to Oracle BPEL server
Locator locator = new Locator("default","bpel");
IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
// Construct a normalized message and send to Oracle BPEL Process Manager
NormalizedMessage nm = new NormalizedMessage();
nm.addPart("payload", xml);
// Initiate the BPEL process
deliveryService.post("MyLoanFlow", "initiate", nm);
//Obtain the instance handler
IInstanceHandle handle = locator.lookupInstance(NormalizedMessage.CONVERSATION_ID);
But this is giving the error - can not find any instance with conversation id 'conversationId'.
Also, if i try to obtain a list of instance handles associated with a process , it does not contain the most recently created instance
IBPELProcessHandle ph = locator.lookupProcess("MyLoanFlow");
IInstanceHandle[] iHandler = ph.listInstances();
out.println(iHandler.length + "<br>");
if i invoke the process for the first time the output is 0.
can you please help me. it is urgent.Hi Sudipto,
Regarding your second question,
deliveryService.post("MyLoanFlow", "initiate", nm);
IBPELProcessHandle ph = locator.lookupProcess("MyLoanFlow");
IInstanceHandle[] iHandler = ph.listInstances();
out.println(iHandler.length + "<br>");
---- returns 0 ---
This is because MyLoanFlow is an asynchronous process in your case. So the control is returned to your java block immediately after the request for a new instance is posted. And your second line of code(querying for the list of instances) is executed even before the instance is created on the server side. You can verify this in two ways:
1. try creating an instance of a synchronous process using IDeliveryService.request - this will always result in the increment since the current thread is blocked till the new instance is created.
2. for your case, you can try
Thread.currentThread().sleep(500); - just allow the server some time for completing the instance before you query it for the list of instances..
and wrt question 1,
//Obtain the instance handler
IInstanceHandle handle = locator.lookupInstance(NormalizedMessage.CONVERSATION_ID);
But this is giving the error - can not find any instance with conversation id 'conversationId'.
For setting the conversationId, you could do so by including the following inside your .bpel file
<bpelx:exec name="test-setConversationId" language="java" version="1.4">
<![CDATA[
setConversationId("conversationId");
]]>
</bpelx:exec>
The code:
IInstanceHandle ins = locator.lookupInstanceByConversationId(NormalizedMessage.CONVERSATION_ID);
should fetch you the required instance in this case.
HTH,
Anuj -
How to start BPM Process in Netweaver CE 7.1 from backend
Hi,
since 2 Month i am trying to use SAP Netweaver CE 7.1 EHP1. I found a lot about modelling of business process with process composer.
In my company we are often using SAP Standard Programs/transaktions, thats why I want to start a SAP Netweaver BPM Process from SAP Backend. I think there are more than one way. May be someone can tel me one easy way.
The following systems are available in my Landascape:
- PI 7.1
- ERP 2005
- CE 7.1 EHP1 with ESR
Does someone have an idea how to start the BPM Process or how to trigger start event from Backend?
Greetings,
ManuelHi,
Netweaver BPM process can be started in two ways:
1. Using NWA by instantiating a process
2. Using a Web service which trigers the Start event of the Business Process. You may find this useful:
/people/arafat.farooqui/blog/2009/08/13/introduction-to-sap-netweaver-bpm-part-4
Hope this helps!!
Regards,
Arafat -
How to start BPM Process in Netweaver CE 7.1
Hi,
since 2 Month i am trying to use SAP Netweaver CE 7.1 EHP1. I found a lot about modelling of business process with process composer.
In my company we are often using SAP Standard Programs/transaktions, thats why I want to start a SAP Netweaver BPM Process from SAP Backend. I think there are more than one way. May be someone can tel me one easy way.
The following systems are available in my Landascape:
- PI 7.1
- ERP 2005
- CE 7.1 EHP1 with ESR
Does someone have an idea how to start the BPM Process or how to trigger start event from Backend?
Greetings,
ManuelHi,
Netweaver BPM process can be started in two ways:
1. Using NWA by instantiating a process
2. Using a Web service which trigers the Start event of the Business Process. You may find this useful:
/people/arafat.farooqui/blog/2009/08/13/introduction-to-sap-netweaver-bpm-part-4
Hope this helps!!
Regards,
Arafat -
A BPM process with out any human task
Hi All,
I am new bie to BPM. Can I create a BPM process without any human task?
Like start event, service task (or any other activity) & end event.
If it is possible, please let me know the proper steps to execute and test this process also.
Thanks,Hi
Yes, ofcourse you can have a Process without any User Task. Ex: Start Node -> Service Task -> End Node. Start Node can be 2 things say like DB Adapater and File Adapter. Read something from DB from some table and put into the Text File.
But the thing is, BPM Process is more of Role Oriented. If you already saw, you define something called Swim Lanes and put each User Task in those Lanes and automatically users in that Role only can work on those Task.
If you do not have any such things like User Task, you don't even need to create a BPM Process. Just create a simple BPEL with your custom Payload.
Now, the most important question is how do you plan to trigger/start this process whether BPM or BPEL. Do you assign some users to the first Role and do users log into bpm/workspace and click the Link on the left side to start the process. ALSO since there is NO User Task, you will NOT have any Task Details Page and this means you MAY NOT even see the link on the left side in bpm/workspace.
The only option I could see is have BPEL. This BPEL will have a WSDL automatically generated. And you can use this WSDL to instantiate the task.
If your intention is to use this process/bpel in some other MAIN Process then it is totally possible.
Thanks
Ravi Jegga -
How to configure quality process with batch management.
Dear Friends,
we have a scenario,our client receive goods with 101movement type into quality inspection stock.
once stock is passed quality check stock,then we will take into unrestricted stock with 321 movement type.
failed in quality test will be rejected.please give me suggestion how to map the scenario.while i am testing
the process in my sandbox,its asking batch number.its not allowing me to post unrestricted stock with 321
movement type.how to make batch as optional in this scenario?if batch is mainted for the material,how to
configure the process.we are not using QM module.
please suggest me.
Regards,
VarunIn Batch management config in Logistic general, Check for the movement type 101 & 321 whether batch creation has been activated to Manual, Automatic, or no creation. In your case it looks like for mvt 321 batch creation is set to manual & for 101 no creation.
if batch creation is set to manual, enter a manual batch no & proceed.
But to cross verify wheter 101 has generated batch or not please check the stocks in MMBE.
Hope this helps.
Regards
Mithun -
How to start BPM process WSDL from WDA
Hello,
I need to start BPM Process from SRM ECC with WDA; i have been through this link ;
http://forums.sdn.sap.com/thread.jspa?threadID=1643425
also followed the pdf named 'Triggering NetWeaver BPM Process from ABAP' provided from SAP but still stuck on some issues;
- I have a WSDL in order to start BPM process and works fine as i successfully call it from EP Java AS with WDJ..
- What i need to do is to trigg it from SRM Screens so i need to call this WSD from ECC, so;
When i try to create a consumer proxy using external wsdl option, after putting in WSDL Url it throws an error;
Exception occurred in communication framework:Error in HTTP Framework:405 Method Not Allowed http://xxx.local:50000/bpm/de
mosapcom/dccategoryappbpm/StartCatAppSI
Exception of class CX_SLIB_HTTP_FAIL
And this is error from BPM Logs for the same action;
process()
[EXCEPTION]
com.sap.engine.interfaces.webservices.runtime.RuntimeProcessException: com.sap.engine.services.webservices.espbase.server.additions.wsa.WSAddressingException: com.sap.SOA.wsr.030104 - Expected request method POST. Found GET.
at com.sap.engine.services.webservices.espbase.server.additions.SOAPHTTPTransportBinding.getAction(SOAPHTTPTransportBinding.java:581)
at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.overwriteConfiguration(RuntimeProcessingEnvironment.java:894)
at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessingEnvironment.java:469)
Also i found this link : http://wiki.sdn.sap.com/wiki/display/TechTSG/(WSR)Problems-P06/
But no help so far,
So, is there anyone faced similar or the same issue? Any suggestion will be appreciated.
Regards,
YasinHi soujanya,
BPM server is not open to the internet but only intranet, so i will copy the WSDL code for you,
will be glad if you can help;
- <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.koczer.com/StartCatAppSI/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="StartCatAppSI" targetNamespace="http://www.koczer.com/StartCatAppSI/">
- <wsdl:types>
- <xsd:schema targetNamespace="http://www.koczer.com/StartCatAppSI/">
- <xsd:complexType name="DetailsType">
- <xsd:sequence>
<xsd:element name="Category_ID" type="xsd:int" />
<xsd:element name="Category_Text" type="xsd:string" />
<xsd:element name="User" type="xsd:string" />
<xsd:element name="Manager" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
- <xsd:element name="NewOperation">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="Details" type="tns:DetailsType" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
- <wsdl:message name="NewOperationRequest">
<wsdl:part element="tns:NewOperation" name="parameters" />
</wsdl:message>
- <wsdl:portType name="StartCatAppSI">
- <wsdl:operation name="NewOperation">
<wsdl:input message="tns:NewOperationRequest" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="StartCatAppSISOAP" type="tns:StartCatAppSI">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="NewOperation">
<soap:operation soapAction="http://www.koczer.com/StartCatAppSI/NewOperation" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="StartCatAppSI">
- <wsdl:port binding="tns:StartCatAppSISOAP" name="StartCatAppSISOAP">
<soap:address location="http://zerbpmts.koczer.local:50000/bpm/demosapcom/dccategoryappbpm/StartCatAppSI" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Maybe you are looking for
-
Session Time Out Message on Portal
Hi Guys, We do have an application with out logging in, user can come to our application. The session time out will be 10 min. I am configuring the session time in web.xml But when session timed out i need to forward to a session timeout jsp, when th
-
How do I find the date an app was added to my i phone ?
My child downloaded some apps to my i phone that he did not need to be and i Need to know WHAT DATE these apps where installed ? They are in the not on this phone folder ??? HELP !
-
I'm trying to install VMM 2012 SP1 on a Windows Server 2012 machine and it fails with this error, the scenario is as follows, Old database (from 2012 RTM) exists on remote SQL 2012 SP1 server Server was 2008 R2 SP1 so I decided to make a fresh instal
-
How do I backup a drive I cannot access?
Hello, I'm having a problem accessing all the files on my external hard drive via my Macbook Pro. Usually an icon for the drive appears on my desktop when I connect it to the Mac. Recently, however, I can only see the drive using Disk Utility, and th
-
AES SecretKeyFactory not available
Hi, I found that there is a bug in using SecretKeyFactory keyFactory with reference to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7022467 I tried implementing with KeySpec too,but found one or the other error. I'm posting here my code.Please