Webservice vs JMS in Global Automatic

Hi all,
My client wants to automatically initiate a process after receiving some information from a web service. I have to use a Global Automatic activity to do so. I understand that the Global Automatic activity has an option to listen to an automatic JMS message and trigger/start/initiate the process..
But the global automatic activity has no option to trigger/start/initiate the process after receiving some information from a web service. Can this be done irrespective of whether the Global Automatic activity has the option or not? Or do I have to only use JMS message to trigger the process?
Edited by: user647659 on Aug 7, 2009 7:29 AM

But the global automatic activity has no option to trigger/start/initiate the process after receiving some information from a web service. Can this be done irrespective of whether the Global Automatic activity has the option or not? Or do I have to only use JMS message to trigger the process?To see how to create an instance from a Global Automatic (or any activity) using logic go to How to create Instace of another process from running process.
Dan

Similar Messages

  • Polling or JMS Message in Global Automatic

    Hi,
    I am currently working on a process which uses a Global Automatic activity to invoke a process instance. The process instance is invoked when the process receives some ticket information ( ticket id, type of ticket, customer name etc.) from an external application. This information is passed to the process using a web-service.
    Now, I am confused whether to use JMS message or Polling by Interval inside of the Global Automatic acitivity to receive the message with the ticket information. Could anyone please suggest..
    Also does anybody have an example of invoking a process instance after receiving a JMS message...?

    HI!!!
    In this URL of the Glorius bea.edocs.com, there is an example about working with JMS
    http://egeneration.beasys.com/albsi/docs55/index.html

  • Exception when begin process via Global Automatic JMS task

    I have a process that works when I invoke it via a global creation task. However, when I try to invoke it automatically via a global automatic task listening to a JMS queue, I get the following exceptions and the instance fails.
    An exception occurred while executing a transaction. Details:
    java.lang.ClassNotFoundException: xobject.CandidateManagement.CandidateList$CandidatesGroup
    java.lang.ClassNotFoundException: java.lang.ClassNotFoundException: xobject.CandidateManagement.CandidateList$CandidatesGroup
         at fuego.lang.JavaClass.loadClass(JavaClass.java:945)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:902)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:874)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:868)
         at fuego.lang.JavaClass.forName(JavaClass.java:271)
         at xobject.CandidateManagement.CandidateList.<init>(CandidateList.xcdl)
         at JMSPrototype3.ChooseCandidateCustomer.Default_1_0.Instance.<init>(Instance.xcdl)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
         at java.lang.reflect.Constructor.newInstance(Unknown Source)
         at java.lang.Class.newInstance0(Unknown Source)
         at java.lang.Class.newInstance(Unknown Source)
         at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:86)
         at fuego.server.AbstractProcessBean$42.execute(AbstractProcessBean.java:2771)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:302)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runGlobalJmsActivity(AbstractProcessBean.java:2777)
         at fuego.server.execution.GlobalJMSExecutor$1.run(GlobalJMSExecutor.java:113)
         at fuego.component.Message.process(Message.java:578)
         at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:772)
         at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:747)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:143)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:135)
         at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:248)
         at fuego.component.ExecutionThread.work(ExecutionThread.java:831)
         at fuego.component.ExecutionThread.run(ExecutionThread.java:409)
    Process execution engine execution error.
    Caused by: java.lang.ClassNotFoundException: xobject.CandidateManagement.CandidateList$CandidatesGroup
    fuego.papi.impl.EngineExecutionException: Process execution engine execution error.
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:139)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runGlobalJmsActivity(AbstractProcessBean.java:2777)
         at fuego.server.execution.GlobalJMSExecutor$1.run(GlobalJMSExecutor.java:113)
         at fuego.component.Message.process(Message.java:578)
         at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:772)
         at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:747)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:143)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:135)
         at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:248)
         at fuego.component.ExecutionThread.work(ExecutionThread.java:831)
         at fuego.component.ExecutionThread.run(ExecutionThread.java:409)
    Caused by: java.lang.ClassNotFoundException: java.lang.ClassNotFoundException: xobject.CandidateManagement.CandidateList$CandidatesGroup
         at fuego.lang.JavaClass.loadClass(JavaClass.java:945)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:902)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:874)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:868)
         at fuego.lang.JavaClass.forName(JavaClass.java:271)
         at xobject.CandidateManagement.CandidateList.<init>(CandidateList.xcdl)
         at JMSPrototype3.ChooseCandidateCustomer.Default_1_0.Instance.<init>(Instance.xcdl)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
         at java.lang.reflect.Constructor.newInstance(Unknown Source)
         at java.lang.Class.newInstance0(Unknown Source)
         at java.lang.Class.newInstance(Unknown Source)
         at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:86)
         at fuego.server.AbstractProcessBean$42.execute(AbstractProcessBean.java:2771)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:302)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         ... 11 more

    Hi,
    Sure this is just my confusion, but if I'm reading this correctly, you're trying to use an instance variable in a Global Automatic.
    If this is the case, I know this sounds odd, but you don't have access to instance variables inside a Global Automatic. You can create an instance inside the logic of one of these activities if you call the Fuego.Lib.ProcessInstance method "createInstance". For this method you'll notice that one of the parameters it expects is a Any[String]. You'll need to populate this hash table to set instance variable in the instance you're creating.
    Hth,
    Dan

  • Trigger a Begin event running Global Automatic activity

    Hi
    I have a situation explained as follows:
    The BPM Process flow would be triggered when a message comes into a JMS Queue.
    I have configured the JMS Messaging Service as an external resource and used a Global Automatic Activity as an Automatic JMS Listener to listen on that queue.
    Once the message is received on the queue, I want my actual process flow to be instantiated and activities following the begin activity to be executed.
    In the Studio Reference document, it is mentioned that
    You can trigger a Begin event running Global Automatic activity.
    Can someone tell me the steps to trigger the Begin Event from Global Automatic Activity and create the process instance.
    Thanks

    You have to call this method
    ProcessInstance.create(arguments : args, argumentsSetName : "BeginIn")
    Args is Any[String] where you put you input arguments that you have in your begin activity and BeginIn is the set of arguments you have in the begin activity.
    HTH

  • Create Process via Global Automatic activity

    Hi!
    I´m trying to automatize some process, that can auto-execute one time at a day. For this, i'm thinking of use the global automatic activity, and I 've scheduled to execute (for testing) every minute. But this never happends
    If the global has no bp.Method inside, obviusly, nothing happends. Hence, when i wrote this code:
    logMessage "Se ha iniciado el proceso de consulta de calendario a las:" +'now'
         using severity = INFO
    ProcessInstance.create(processId : "/ConsultarCalendarioCompras", arguments : null, argumentsSetName : "")
    how could i solve this?
    Thanks

    Hi,
    Are you seeing your log INFO statement in the log file every minute? Assuming you are, I think all you're missing is a valid value for the third parameter. Try changing your logic to this:
    ProcessInstance.create(processId : "/ConsultarCalendarioCompras",
         arguments : null, argumentsSetName : "BeginIn")
    . . .Once you get this working, take a look at this thread for information on how to pass in argument variables into the work item instance using the second parameter: Re: How to create Instace of another process from running process.
    Hope this helps,
    Dan

  • Transfer value from global automatic activity in Aqualogic BPM Suite

    Hi, I am new to Aqualogic BMP suite and stuck with the following problem :
    In aqualogic bpm suite, if we are setting some values to some variables in a global automatic activity in a process how to get those values back in some other activities (say an Interactive activity) in the same process or how to assign the values to some instance variables in the Begin activity ??
    We have a scenario where we are creating some process instances from the Global Automatic activity using the following :
    args["name"] = abc
    create ProcessInstance using parameters = args
    Now how to get the value "abc" and assign this value to an instance variable in the Begin activity(/access the value "abc" in an interactive activity)within the same process.
    Thanks,
    Suman.

    Hi,
    Let's say you have an Argument Set defined in your Begin activity called BeginIn. The arguments in this Argument Set can be "a", "b" and "c" of type String, Int and boolean accordingly.
    If you want to use the ProcessInstance.create method, then you would need to have a PBL script like this one:
    args[] = [ "a" : "SomeStringLiteral", "b" : 1234, "c" : true ];
    ProcessInstance.create(processId : "/MyProcess", arguments : args, argumentsSetName : "BeginIn");
    HTH,
    eduardoc.

  • Global Automatic Activity - Process to Process

    Hi,
    How can we invoke another process from one process using a Global automatic activity..Is PAPI the only way? How can we use PAPI code inside of a Global Automatic Activity to call another process?v Any examples?
    Edited by: user647659 on Oct 27, 2008 11:02 PM
    Edited by: user647659 on Oct 28, 2008 11:49 AM

    I am not sure what you saying..Did u mean Global Creation ? But that would have a user to invoke the process..I want to invoke it automatically...I got a part of the answer...But it takes all instances..and creates multiple instances..I want to isolate the instances previously been transferred..What I am doing is ..Using a Global Automatic to invoke the other process.Writing a PAPI code to call the other process from this process...and Polling By Interval every 1m..
    Here is a code:-
    ProcessService ps;
    ps.connectTo(url : Fuego.Server.directoryURL, user : (String)BusinessParameter.getValue(name : "USER_NAME"), password : (String)BusinessParameter.getValue(name : "PASSWORD"));
    logMessage("Process Service connected--->" );
    businessProcess = ps.getProcess(process : "StartProcess");
    InstanceFilter instanceFilter;
    instanceFilter.create(processService : ps);
    SearchScope searchScope = new SearchScope(ParticipantScope.ALL,StatusScope.INPROCESS_AND_COMPLETED);
    instanceFilter.searchScope = searchScope;
    result2 = businessProcess.getInstancesByFilter(filter : instanceFilter);
    logMessage("Length ==>" +length(result2));
    length = length(result2);
    logMessage("Length Transferred==>" +length);
    test["name"] = "testing";
    if(length > 0)
         for(int i=0; i < length; i++)
              ProcessInstance.create(arguments : test, argumentsSetName : "BeginIn");
    else
         logMessage("length is-->" + length);
    length = 0;
    Any suggestions on how to isolate the previous obtained instances would be appreciated..
    Thanks,

  • Process creation using Global Automatic Activity - OBPM 10g

    Hi,  I would like create the process instance for my application on every 2nd business day of a month. I also have a calendar defined for checking business day.  But I am unable to figure out to how use that calendar to determine second business day of any month. Global Automatic type is set to Automatic schedule and monthy option was selected. But I believe this would trigger the process on every second day of the month, without considering the fact whether its  business day or not. There is Runs on Holidays checkbox, but not sure what it really does. If it checks for holidays then which calendar does it refers to. Hence, please let me know how can i specify a calendar or any alternate solution to trigger process creation. Thanks, Namit
    n

    I am not sure what you saying..Did u mean Global Creation ? But that would have a user to invoke the process..I want to invoke it automatically...I got a part of the answer...But it takes all instances..and creates multiple instances..I want to isolate the instances previously been transferred..What I am doing is ..Using a Global Automatic to invoke the other process.Writing a PAPI code to call the other process from this process...and Polling By Interval every 1m..
    Here is a code:-
    ProcessService ps;
    ps.connectTo(url : Fuego.Server.directoryURL, user : (String)BusinessParameter.getValue(name : "USER_NAME"), password : (String)BusinessParameter.getValue(name : "PASSWORD"));
    logMessage("Process Service connected--->" );
    businessProcess = ps.getProcess(process : "StartProcess");
    InstanceFilter instanceFilter;
    instanceFilter.create(processService : ps);
    SearchScope searchScope = new SearchScope(ParticipantScope.ALL,StatusScope.INPROCESS_AND_COMPLETED);
    instanceFilter.searchScope = searchScope;
    result2 = businessProcess.getInstancesByFilter(filter : instanceFilter);
    logMessage("Length ==>" +length(result2));
    length = length(result2);
    logMessage("Length Transferred==>" +length);
    test["name"] = "testing";
    if(length > 0)
         for(int i=0; i < length; i++)
              ProcessInstance.create(arguments : test, argumentsSetName : "BeginIn");
    else
         logMessage("length is-->" + length);
    length = 0;
    Any suggestions on how to isolate the previous obtained instances would be appreciated..
    Thanks,

  • Submit order using Webservice over JMS

    Hi,
    from the SDK samples(webservice sample) and from one of the reply from the forum:
    The wlsmimehdrContent_Type JMS header must be set to the following value: text/xml; charset="UTF-8"
    The URI JMS header must be set to the following value: /osm/wsapi
    Want to test webservice over JMS using SOAP UI (that supports HermesJMS):
    I have configured HermesJMS then configured SoapUI 4.0 by adding endpoint as JMS then selected webserive endpoint as JMS:osm_ws_request (long name) instead of "http://localhost:7001/osm/wsapi".
    Now for JMS endpoint where to add webservice URI "/osm/wsapi" unable to figure out where to add URI (in SOAPUI or HermesJMS) which parameter need to set for webservice URI?
    Regards,
    Rutvej

    Hi,
    Above query is resolved..
    Cheers,
    Rutvej

  • How to call Apache CXF webservice/Spring/jms from Oracle BPM 10g

    Hi , I am new to Oracle BPM and trying to develop simple POC. Can anybody give me some pointers on how to call a webservice whcich is based on Apache CXF/Spring/WSDL/jms as transport from oracle bpm 10g

    You should ask this question in the JDeveloper or BI Publisher forum.

  • Webservice + secured jms (Web Service over the JMS trans).

    Apologize since this post is in the webservice forum as well but since it is related to jms as well i put it here as well.
    I have a web service that is using JMS (@WLJmsTransport Web Service over the JMS transport)
    and everything seems to be ok BUt i do not know how to use this if the JMS is secured .
    By Adding security on JMS queue what other things i need to do in order for the webservice to access the queue ?
    (where i specify the credentials ?)
    @WebService(serviceName = "ASyncService", targetNamespace = "http://axyz.org/notification/v1", endpointInterface = "
    axyz.notification.ASyncPort")
    @WLJmsTransport(contextPath = "notify", serviceUri = "async_event", portName = "ASyncServicePort", queue = "events", connectionFactory = "cnfct_receiver")
    Thank you !

    The annotation you gave is for accessing the webservice but in this case it seems the webservice has to access a secured jms
    However having your response lead me to @RunAs which solved my problem.
    Very hard to find this information.
    Thank you very much for your answer !
    Nice blog as well !
    Edited by: user630775 on Jan 28, 2010 2:02 AM

  • Global automatic check for "process valid after_YYYYMMDD" available?

    Hi, I want to attach the info that a process is only valid after a specific date. Each time a process-instance will be created it has to be checked if the actual date is higher than the date specified and only then the process-instance can be created.
    Is there a way to define a automatic global check of the validity of each process?
    Thanks, Soja.
    PS: I could simply define an additional variable in the deployment descriptor but that would require that each process has to check in it's first activity the actual date and the validity-date of the process.

    thanks for the reply . i have found the way to push the command to client using intune but the issue is with the command its not working.
    %programfiles%\Microsoft\OnlineManagement\Updates\Bin\omupdclt.exe /detectnow
    · %programfiles%\Microsoft\OnlineManagement\Updates\Bin\omupdclt.exe /updatenow
    These commands are not getting executed at the client machine.i tried it's execution in administrator mode.Command is  getting executed without any error but check for update is not getting initiated .
    can u please provide me with the way to execute this manually at the client machine. 
    thanks 
    Mayank Pahan

  • WebServices over JMS

    Hello,
    Is that possible to have WebServices working with JMS server behind the scene? I mean not using SOAP/HTTP, but SOAP/JMS so the SOAP message is posted to JMS queue directly by the stub without being sent via HTTP on server and then pushed to JMS queue.
    From what I saw in the Sun technical articles, they offer next solution:
    Stub->Generates SOAP message->Message is sent over HTTP on server->Servlet takes the message and pushes to JMS queue
    What I'm looking for is:
    Stub->Generates SOAP message->Message is pushed to the JMS server directly.
    Can someone help me with this?
    Thanks.

    please check the below link it has some info
    http://www-128.ibm.com/developerworks/webservices/library/ws-jms/

  • WebServices or JMS

    Hi !
    Need to know if JMS can be used instead of webservices.
    My requirement is that i have 2 applications which have to contact each other over internet. I also don't need synchronous communication. One application is in java/jsp and other is in ASP/com.
    Earlier i was planning to use webservices (xml/http) for communication among them.
    Can i use JMS instead of Web Services ? Also, i have to use weblogic application server, so is MOM/JMS service provided in weblogic sufficient enough for full fledge use and can be used for communication between java and no-java clients over internet or do i need to use some other MOM service.
    If anyone can provide me info on
    1. If JMS can be an alternative to web service
    2. How exactly JMS works over ineternet
    3. If anyone has worked on weblogic JMS and prove me inputs on it

    1. If JMS can be an alternative to web serviceIf you mean for asynchronous processing, certainly.
    2. How exactly JMS works over ineternetIt won't - you have firewalls in the way (if your admins are smart).
    3. If anyone has worked on weblogic JMS and prove me
    inputs on itWorks great - INSIDE THE FIREWALL.

  • Configure # of JMS consumers for WebServices over JMS Transport

    I'm using WebLogic Server 9.2. My Web Services are using JMS Transport.
    10,000 Web Services requests are submitted to the Web Services JMS queue at the same time. Processing time seems a little slow. In the Admin console, monitoring info of the JMS queue shows the Consumers is 4 and Consumers High is 6.
    I want to scale Web Services processing by increasing the number of JMS consumers that transform JMS request messages into Web Services requests. Does anyone have an idea to configure it?

    Hi,
    I don't think the number of consumers for a service is configurable. There is a single consumer for each service. Well, there is another consumer for interop purposes, which is irrelevant to our discussion here.
    You may be aware that multiple consumers reading from the same queue would result in requests being processed in parallel, which means the order that the requests are processed might be different from the order that they are put into the queue.
    For applications where the order of processing the requests to the same web service is not important, it probably makes sense to have an option of configuring multiple consumers. But this is no such option right now.
    Regards,
    Dongbo, BEA

Maybe you are looking for

  • Effect of payment terms on release procedure

    Hi gurus, Will their be any impact of payment terms on release procedure of purchase order? As and when we change payment terms in a PO which is released earlier, the release procedure tab is getting disappeared I hope my question is clear Kindly rep

  • Startup Disk Full Error - Please help

    Dear ALL, I have started to notice recently that when I run Photoshop CS on my Mac OSX Tiger, I am getting the Startup Disk Full error message. I have no clue as to how to correctly fix this issue. I looked at my HD and I seem to have 32GB available,

  • How to put equipment no. in Asset master data  (manulaly)

    Hi Guru      I have implement Asset module and link asset no. to equipment no. come from  Plant maintenance module. How I can put the equipment no. in field  equipment number / Tab Allocations  in Asset master data .  How I can do? thank you very muc

  • Mac DVD player plays all DVDs but this one

    A commercial DVD from Netflix will play on my tv, my MacBook Pro, and my old power Mac, but not on my intel Mac.  All other DVDs play on this Mac without a hitch.  Netflix has sent me 2 copies of this and neither works, yet all others work.  There ar

  • Adding Movies to 'Purchased' menu?

    Is there any way that your Ripped DVD's/Movies can be viewed using Apple TV with out having a PC/Mac switched on with hme sharing? You can obviously watch purchased content via ATV but i wondered if there was a way to either add movies to the 'Cloud'