Xml to client call in bpm

Hi
i have a client application which starts the bpm workflow i need to pass
back an xml using xml to client action , need to know how dopes bpm do it in
a synchronous mode and what all does the client need to have to accept the
xml and retrun a response back
replies appreciated
Ravi

Hi Sudhar.
I don't think your workflow will execute the next node before you mark the current
node as done. Conseqently setting the done in the decision box isn't possible.
Giora
"Sudhar" <[email protected]> wrote:
>
After I do the Send XML to Client from the exeucte tab of an action...instead
of
marking the task as done on the call back actions...i try to mark the
same task
as done in the next task after a decision box....it doesnt seem to work?
any ideas? should you always mark a task as done on the same task?

Similar Messages

  • Xml to client call from bpm

    Hi ,
    how does the client application receive the xml to client data from the
    bpm.Does the bpm use an internal jms queue or is there a direct call to the
    application .and what all does the client need to implement for the same .
    does the client need to have an event listener
    regds
    Ravi

    Hi ,
    how does the client application receive the xml to client data from the
    bpm.Does the bpm use an internal jms queue or is there a direct call to the
    application .and what all does the client need to implement for the same .
    does the client need to have an event listener
    regds
    Ravi

  • Send XML to Client: call-program cannot pass ampersand in parameter

    In WLI Studio, I have tried to use the action "Send XML to Client" with
    following information:
    <call-program mode="async" name="IEXPLORE.EXE">
    <actionid>1027425345078</actionid>
    <parm>http://pttserver:7001/pttWebApp/Test.jsp?First=a&Second=b&Third=c</par
    m>
    </call-program>
    The problem is that the ampersand (&) of call-program parameter will always
    shift three character right on any program (e.g., IE, Notepad, etc.).
    From the above example, IE can be called correctly, but its parameter -- a
    string
    "http://pttserver:7001/pttWebApp/Test.jsp?First=a&Second=b&Third=c", will be
    passed as
    "http://pttserver:7001/pttWebApp/Test.jsp?First=aSec&ond=bThi&rd=c".
    I have also tried to use the string "&" instead of an ampersand, and the
    parameter was passed as
    "http://pttserver:7001/pttWebApp/Test.jsp?First=aamp&;Second=bamp&;Third=c".
    What should be used in order to pass the ampersand character correctly?
    If it is a bug, can any one suggest the workaround?
    Thankyou in advance,
    Suwanee Suwanapong

    If you think you're encountering URL length issues make sure you are using POST and not GET, although it looks like there may be additional issues:  http://www.javaworld.com/community/node/2307

  • BPM Studio Task Send XML to Client Actions

    After I do the Send XML to Client from the exeucte tab of an action...instead of
    marking the task as done on the call back actions...i try to mark the same task
    as done in the next task after a decision box....it doesnt seem to work?
    any ideas? should you always mark a task as done on the same task?

    Hi Sudhar.
    I don't think your workflow will execute the next node before you mark the current
    node as done. Conseqently setting the done in the decision box isn't possible.
    Giora
    "Sudhar" <[email protected]> wrote:
    >
    After I do the Send XML to Client from the exeucte tab of an action...instead
    of
    marking the task as done on the call back actions...i try to mark the
    same task
    as done in the next task after a decision box....it doesnt seem to work?
    any ideas? should you always mark a task as done on the same task?

  • Send XML to client: message box

    Hi,
    In a BPM workflow I'm putting together, I need to open a message box for information
    (title, message, OK button). In the documentation, I found that I should send
    an XML document to a client that looks like this:
    <message-box title="title" style="information" options="ok">
    <actionid>"1013679664318"</actionid>
    </message-box>
    Which I did: I added a "Send XML to client" action in the "True" part of a decision
    node with a message-box element and its attributes, and actionid as a nested element.
    When I trigger the workflow, it goes through all the expected steps but the window
    does not pop up at all. I could not find the reason why anywhere. So has anyone
    experienced the same problem ? If yes, how did you solve it ?
    Cheers,
    Yann

    Hi Sudhar.
    I don't think your workflow will execute the next node before you mark the current
    node as done. Conseqently setting the done in the decision box isn't possible.
    Giora
    "Sudhar" <[email protected]> wrote:
    >
    After I do the Send XML to Client from the exeucte tab of an action...instead
    of
    marking the task as done on the call back actions...i try to mark the
    same task
    as done in the next task after a decision box....it doesnt seem to work?
    any ideas? should you always mark a task as done on the same task?

  • Struggling with Send XML to client

    Hi,
    I am using WL Process Integrator 2.1 with WL 6.1.
    I am trying to do do an example of the "Client Call Addin Response DTD" i.e. pass
    an XML document to an external java
    program.
    As given in docs :
    http://e-docs.bea.com/wli/docs70/devclient/appa.htm#1120726
    1. I have created a template definition
    2. Defined a XML doc. (as per the Client Callin Request DTD) and attached to ActionSendXMLToClient
    event as shown below.
    <call-addin name="mywlpi.addinimpl" mode="async">
    <actionid>959395846210</actionid>
    <parm>itemNumber</parm>
    </call-addin>
    3. "mywlpi.addinimpl" is a java program I created
    4. Now, the problem I run into is when I run from Worklist (Swing client program),
    it errors out saying it cannot find this
    class file:
    ClassNotFoundException: mywlpi.AddInImpl
    java.lang.ClassNotFoundException: mywlpi.AddInImpl
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    5. I have included the class file in a .jar and included in the
    SVRCP of startWebLogic.cmd file. Also, when I create a Business
    Operation from Studio, I can locate this Java class. So, I am
    not sure what is missing. The strange part is when I run from the
    Worklist JSP page, it errors out saying :
    "Cannot execute this task, because it is already done." The task
    is not yet done.
    Is there someone who can help me here? Any suggestions
    appreciated!!
    Thanks,
    SLN

    Hi Sudhar.
    I don't think your workflow will execute the next node before you mark the current
    node as done. Conseqently setting the done in the decision box isn't possible.
    Giora
    "Sudhar" <[email protected]> wrote:
    >
    After I do the Send XML to Client from the exeucte tab of an action...instead
    of
    marking the task as done on the call back actions...i try to mark the
    same task
    as done in the next task after a decision box....it doesnt seem to work?
    any ideas? should you always mark a task as done on the same task?

  • Client calling EJB + No object bound eror

    Hi,
    I am a newbie to oc4j. I have tried to get a client to call a stateless ejb using a bat file outside the server, with no luck. I get NamingException: No object bound for java:comp/env/EmployeeBean when doing a jndi lookup. I have read the doc's, tried the answers in the forum and I even used the example code provided from oracle, but I still get the same error message every time.
    Has anyone come across this issue when calling an ejb from a client??
    Any help would be greatly appreciated. It’s driving me crazy.
    Thanks
    David

    Hi,
    I will check out the link, thank you. I am a newbie to java and oracle, so any help would be great. i wasnt sure which bits of code would be really helpfull, so i just put most of it in, sorry if it is too much info.
    i am using oracle9ias release 1.0.2.2a (i dont know if this would make any difference). I deploy all my ears using the enterprise manager. The client-jar is within the ear. i use a bat to run the Client code.
    I can get a servlet to call the same ejbs and that works fine.
    #batfile
    ========
    i set the classpath which including refernces to oc4j.jar and oc4jclient.jar and my ejb-jar
    and then i use
    set BigD=-Dorg.omg.CORBA.ORBInitialHost=localhost -Duser.timezone=ECT
    java.exe %BigD% -classpath "%classpath%" com.test.client.Client
    //Client Code
    =============
    public class Client {
         public static void main(String[] args) {
              System.out.println("Client started again...");
              try {
                   Context context = new InitialContext();
                   System.out.println("got context");
                   Object homeObject = context.lookup("java:comp/env/ejb/ConsumerRequestSession");
                   ConsumerRequestSessionHome home = (ConsumerRequestSessionHome) PortableRemoteObject.narrow(homeObject, ConsumerRequestSessionHome.class);
                   System.out.println("got home");
                   ConsumerRequestSession remote = (ConsumerRequestSession) PortableRemoteObject.narrow(home.create(), ConsumerRequestSession.class);
                   System.out.println("got remote");
                   String retValue = remote.getString();
                   System.out.println("The retValue from client is : " + retValue);
              }catch(Exception e) {
                   e.printStackTrace();
                   System.out.println("ERROR in try block of client when creating jndi :" + e.getMessage());
    #jndi
    ====
    java.naming.factory.initial=com.evermind.server.ApplicationClientInitialContextFactory
    java.naming.provider.url=ormi://localhost/test
    java.naming.security.principal=admin     
    java.naming.security.credentials=welcome
    #application-client.xml
    =======================
    <application-client>
    <display-name>ejb/ConsumerRequestSession</display-name>
         <ejb-ref>
              <ejb-ref-name>ejb/ConsumerRequestSession</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <home>com.test.ejb.ConsumerRequestSessionHome</home>
              <remote>com.test.ejb.ConsumerRequestSession</remote>
         </ejb-ref>
    <!--          <display-name>EmployeeBean</display-name>
         <ejb-ref>
              <ejb-ref-name>EmployeeBean</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <home>employee.EmployeeHome</home>
              <remote>employee.Employee</remote>
         </ejb-ref>
         -->
    </application-client>
    #orion-application-client.xml
    =============================
    <orion-application-client>
         <ejb-ref-mapping location="com/test/ejb/ConsumerRequestSession" name="ejb/ConsumerRequestSession"/>
         <!--<ejb-ref-mapping name="EmployeeBean" location="employee/EmployeeBean" />
              <ejb-ref-mapping name="EmployeeBean" location="employee/EmployeeBean" />-->
    </orion-application-client>
    #ejb-jar.xml
    <ejb-jar>
         <enterprise-beans>
              <session>
                   <ejb-name>ejb/ConsumerRequestSession</ejb-name>
                   <home>com.test.ejb.ConsumerRequestSessionHome</home>
                   <remote>com.test.ejb.ConsumerRequestSession</remote>
                   <ejb-class>com.test.ejb.ConsumerRequestSessionEJB</ejb-class>
                   <session-type>Stateless</session-type>
                   <transaction-type>Container</transaction-type>
              </session>
         </enterprise-beans>
         <assembly-descriptor>
              <container-transaction>
                   <method>
                        <ejb-name>ejb/ConsumerRequestSession</ejb-name>
                        <method-name>*</method-name>
                   </method>
                   <trans-attribute>Required</trans-attribute>
              </container-transaction>
         </assembly-descriptor>
    </ejb-jar>
    #orion-ejb-jar.xml
    ==================
    <orion-ejb-jar>
         <enterprise-beans>
              <session-deployment location="com/test/ejb/ConsumerRequestSession" name="ejb/ConsumerRequestSession"/>
         </enterprise-beans>
         <assembly-descriptor>
              <default-method-access>
                   <security-role-mapping name="<default-ejb-caller-role>" impliesAll="true"/>
              </default-method-access>
         </assembly-descriptor>     
    </orion-ejb-jar>
    thank you for your help
    david.

  • Error while calling ejb service call from BPM service

    Hi,
    We are using the Oracle 11.1.1.5.0
    We are calling ejb service call from BPM service to update the data to Oracle database.
    We are getting the below error when we executing the ejb service call from BPM Service.
    <Error> <EJB> <BEA-010026> <Exception occurred du
    ring commit of transaction Name=[EJB oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliver
    yBean.handleCallback(java.lang.String,java.lang.String,java.lang.String,int,bool
    ean)],Xid=BEA1-45B91984D57960994897(30845116),Status=Rolled back. [Reason=javax.
    transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a p
    articipant in two-phase commit. To force this participation, set the GlobalTrans
    actionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhas
    eCommit for the Data Source = EBSConnection],numRepliesOwedMe=0,numRepliesOwedOt
    hers=0,seconds since begin=1,seconds left=60,XAServerResourceInfo[SOADataSource_
    base_domain]=(ServerResourceInfo[SOADataSource_base_domain]=(state=rolledback,as
    signed=soa_server1),xar=SOADataSource,re-Registered = false),XAServerResourceInf
    o[[email protected]@EBSConnection_base_domain]=(ServerResourceInfo[ArC
    [email protected]@EBSConnection_base_domain]=(state=rolledback,assigned=s
    oa_server1),[email protected],re-Registe
    red = false),SCInfo[base_domain+soa_server1]=(state=rolledback),properties=({web
    logic.jdbc.remote.EBSConnection=t3://192.168.10.114:8001, weblogic.transaction.n
    ame=[EJB oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean.handleCallback(java.la
    ng.String,java.lang.String,java.lang.String,int,boolean)]}),local properties=({w
    eblogic.jdbc.jta.SOADataSource=[ No XAConnection is attached to this TxInfo ]}),
    OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=soa
    server1+192.168.10.114:8001+basedomain+t3+, XAResources={eis/tibjms/Queue, eis
    /activemq/Queue, WLStore_base_domain_BPMJMSFileStore, WLStore_base_domain__WLS_s
    oa_server1, eis/fioranomq/Topic, eis/jbossmq/Queue, eis/Apps/Apps, eis/websphere
    mq/Queue, eis/AQ/aqSample, WLStore_base_domain_SOAJMSFileStore, eis/aqjms/Queue,
    WSATGatewayRM_soa_server1_base_domain, eis/sunmq/Queue, eis/pramati/Queue, SSCo
    nnectionDS_base_domain, eis/tibjms/Topic, eis/tibjmsDirect/Queue, eis/wls/Queue,
    eis/tibjmsDirect/Topic, EDNDataSource_base_domain, eis/wls/Topic, eis/aqjms/Top
    ic, RL3TST_base_domain, [email protected]@EBSConnection_base_domain, S
    OADataSource_base_domain, WLStore_base_domain_UMSJMSFileStore_auto_2},NonXAResou
    rces={})],CoordinatorURL=soa_server1+192.168.10.114:8001+base_domain+t3+): weblo
    gic.transaction.RollbackException: Could not prepare resource '[email protected]
    [email protected]_base_domain
    JDBC driver does not support XA, hence cannot be a participant in two-phase comm
    it. To force this participation, set the GlobalTransactionsProtocol attribute to
    LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source
    = EBSConnection
    at weblogic.transaction.internal.TransactionImpl.throwRollbackException(
    TransactionImpl.java:1881)
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
    rverTransactionImpl.java:345)
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
    sactionImpl.java:239)
    at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocal
    Object.java:622)
    at weblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetr
    y(BaseLocalObject.java:455)
    at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(Sess
    ionLocalMethodInvoker.java:52)
    at oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean_of8dk6_ICubeDelivery
    LocalBeanImpl.handleCallback(Unknown Source)
    at com.collaxa.cube.engine.dispatch.message.instance.CallbackDeliveryMes
    sageHandler.handle(CallbackDeliveryMessageHandler.java:47)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
    hHelper.java:140)
    at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatc
    hTask.java:88)
    at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTas
    k.java:64)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
    utor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
    .java:908)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: javax.transaction.xa.XAException: JDBC driver does not support XA, he
    nce cannot be a participant in two-phase commit. To force this participation, se
    t the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended)
    or EmulateTwoPhaseCommit for the Data Source = EBSConnection
    at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.jav
    a:83)
    at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
    sourceInfo.java:1327)
    at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
    sourceInfo.java:513)
    at weblogic.transaction.internal.ServerSCInfo$1.run(ServerSCInfo.java:36
    8)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
    gWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    .>
    <12 Oct, 2012 12:34:40 PM IST> <Error> <oracle.soa.bpel.engine.dispatch> <BEA-00
    0000> <failed to handle message
    javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot
    be a participant in two-phase commit. To force this participation, set the Globa
    lTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateT
    woPhaseCommit for the Data Source = EBSConnection
    at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.jav
    a:83)
    at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
    sourceInfo.java:1327)
    at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
    sourceInfo.java:513)
    at weblogic.transaction.internal.ServerSCInfo$1.run(ServerSCInfo.java:36
    8)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
    gWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    >
    <12 Oct, 2012 12:34:40 PM IST> <Error> <oracle.soa.bpel.engine.dispatch> <BEA-00
    0000> <Failed to handle dispatch message ... exception ORABPEL-05002
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.
    message.instance.CallbackDeliveryMessage"; the reported exception is: Error comm
    itting transaction:; nested exception is: javax.transaction.xa.XAException: JDBC
    driver does not support XA, hence cannot be a participant in two-phase commit.
    To force this participation, set the GlobalTransactionsProtocol attribute to Log
    gingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = EB
    SConnection
    This error contained an exception thrown by the message handler.
    Check the exception trace in the log (with logging level set to debug mode).
    ORABPEL-05002
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.
    message.instance.CallbackDeliveryMessage"; the reported exception is: Error comm
    itting transaction:; nested exception is: javax.transaction.xa.XAException: JDBC
    driver does not support XA, hence cannot be a participant in two-phase commit.
    To force this participation, set the GlobalTransactionsProtocol attribute to Log
    gingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = EB
    SConnection
    This error contained an exception thrown by the message handler.
    Check the exception trace in the log (with logging level set to debug mode).
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
    hHelper.java:207)
    at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatc
    hTask.java:88)
    at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTas
    k.java:64)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
    utor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
    .java:908)
    at java.lang.Thread.run(Thread.java:662)
    >
    Could any body help on this issue.It is little bit urgent for us to resolve.
    Thanks in advance.

    Thanks Sudipto Desmukh,
    The link is helpful me to resolve this issue.
    Thanks,
    Narasimha E

  • How to develope a XML-RPC client with PL/SQL

    Anyone know how to develop a XML-RPC client with PL/SQL?
    I've oracle 8i.
    Have you some example of code?
    Thanks
    Paolo

    So, you actually want to create the physical directory using JAVA?
    Then see:
    http://www.oracle-base.com/articles/8i/shell-commands-from-plsql.php

  • Creating XML file Using Call Transformation

    Hello Friends,
          I have searched before posting thread, couldnt find anything.
          I am creating an XML file using Call Transformation. My internal table has 3 date fields and some other fields.  For some records I dont have values for the date fields. In that case my XML file is giving the date value as 0000-00-00 since I declared it as Date type.  This value 0000-00-00  is not accepted by the middle ware as the valid date.  I can not change it as String type as per the suggestion.
    In that case I am advised to skip printing the date field tag if it doesnt have value.
         Is there any way to skip the date field if it is empty. Any Suggestions please ?.
    Thanks
    Lakshmi.

    Hi,
    I had exactly the same problem before. When you call a transformation there is an option called initial_components. According to SAP if you use initial_components = 'SUPRESS' the empty fields should not being generated on the XML.
    Now, this didn't work for me and I have seen some people with the same problem. Here is how I solved this (maybe not the best way but it worked):
    First: My fields are all CHAR in my table
    Second: In the transformation, you can use conditional transformation to not display a tag if field is empty, here a piece of my transformation (I am using simple transformations):
       <tt:root name="ROOT"/>
         <tt:cond s-check="not-initial(ref('ROOT.L1_NM')) or not-initial(ref('ROOT.L2_NM'))">
              <TRNMTR_NM>
                <tt:cond s-check="not-initial(ref('ROOT.L1_NM'))">
                  <l1_nm>
                    <tt:value ref="ROOT.L1_NM"/>
                  </l1_nm>
                </tt:cond>
                <tt:cond s-check="not-initial(ref('ROOT.L2_NM'))">
                  <l2_nm>
                    <tt:value ref="ROOT.L2_NM"/>
                  </l2_nm>
                </tt:cond>
              </TRNMTR_NM>
            </tt:cond>
    As you can see, I first check if the fields have values.
    Hope it helps
    Edited by: carlosrv on Oct 4, 2011 8:22 PM

  • Call sync BPM from Async BPM - issue

    Hi,
    Outline: I'm trying to call a synchronous BPM from an asynchronous BPM in a PI 7.0 SP 14 system.
    When doing so i get the following error: Object CL_SWF_XI_MSG_BROKER method SEND_SYNCHRON cannot be executed.
    Now this is an oldie when searching the forums for this error message. I do however fail to see a solution to the problem.
    Note that the following notes (referred to in similar posts)
    - 710445
    - 718734
    - 830803
    are implemented since theese refer to older versions of PI.
    My scenario is very simple at present since i've startet from scratch again after getting the error. So what i do is:
    1) send async message to async BPM
    2) async BPM receives request
    3) async bpm transform request til sync_request.
    4) async BPM calls synchronous BPM
    5) sync BPM receives request and opens a async/sync bridge
    6) sync BPM maps request to response
    7) sync BPM sends response and closes async/sync bridge
    8) async BPM reveices sync_response
    9) async BPM sends sync_response to some application
    Now step 8 i never succesfully executed. Instead the error earlier described is triggered.
    For simplicity i use 1 and only 1 message type in all message interfaces. I have mapping between my synchronous interfaces outside of BPM.
    The synchronus BPM is executed just fine. The only issue is getting the reponse back to the asynchronous BPM.
    I am familiar with the following similar posts:
    - Object CL_SWF_XI_MSG_BROKER method SEND_SYNCHRON cannot be executed
    - Problem in posting the data in the syncronous mode
    but find them to be of no use.
    Hope someone can help.
    Best Regards,
    Daniel

    Daniel Hans Engsig-Karup wrote:First you do not need any bridges if it is asyn/sync kind of a scenario in the second BPM. You need a bridge when the bpm has to wait with a sync call coming in and response in an async call. Essentially your BPMs (I donno why you need 2.. but let us go with 2)
    >
    >
    > 1) send async message to async BPM
    > 2) async BPM receives request
    > 3) async bpm transform request til sync_request.
    > 4) async BPM calls synchronous BPM
    > 5) sync BPM receives request                        
    (Remove this if you are calling a sync system here) and opens a async/sync bridge
    > 6) sync BPM maps request to response
    > 7) sync BPM sends response
    Remove this and closes async/sync bridge
    > 8) async BPM reveices sync_response
    > 9) async BPM sends sync_response to some application
    >
    VJ

  • BPM(with wait step) calling another BPM

    Hello,
    I have this scenario whereby i need to call a BPM from another BPM process. Call it BPM1 and BPM2. BPM1 will have a Sync-Send-step to call BPM2.
    The following is what i have setup:-
    Working OKAY:-
    BPM1 (receive from file, send syn step to BPM2) --> BPM2(receive step (Open S/A Brige) from BPM1, send step (Close S/A Bridge))
    But if i put an wait step (for 1 minute, see below) before the send syn step in BPM1, i will have problem and the queue in BPM1 show "STOP" and the BPM2 queue show "RETRY".
    Problem:-
    BPM1 (receive from file, wait step, send syn step to BPM2) --> BPM2(receive step (Open S/A Brige) from BPM1, send step (Close S/A Bridge))
    Yes, the RETRY will work but the problem is, my BPM1 has already timeout and has ERROR (see from SWWL) and BPM2 has exceptional error in the Close A/S Bridge send step (because it can't send back to BPM1).
    Anyone has any idea how to resolve this? and hopefully the above is clear enough to discribe the problem that i'm facing now.
    Any suggestions are welcome, scott.

    The minimum BPM-wait duration is 1 min and cannot be decreased below that....

  • How do I Send a xml to client?

    Hi friends:
    It is possible to send a xml to client without a xml file in the server?
    I create a Document in the server and the code is :
                                                                   DocumentBuilderFactory df=DocumentBuilderFactory.newInstance();
                   DocumentBuilder db=df.newDocumentBuilder();
                   Document  doc=db.newDocument();
                   Element el=doc.createElement("root");
                   doc.appendChild(el);
                   Comment co=doc.createComment("This is a comment");
                   el.appendChild(co);I want to write the Document to a Stream and send the XML stream to client ,so the client can display a xml.
    The code is:
                                                                   resp.setContentType("text/xml");
                   resp.setContentLength(200);
                   resp.setHeader("Content-Disposition","inline;filename=address.xml");
                   ServletOutputStream so=resp.getOutputStream();
                   PrintStream ps=new PrintStream(so);
                   System.out.println(doc);
                   ps.print(doc);
                   so.flush();
                   ps.close();I don't want to create a xml in the server so I can do this only use stream .But what client get is a momery address! It is [email protected] What wrong with my code ? How to send the xml to client without create the xml file in server?
    Thks in advanced!

    Yashnoo,
    What XML package that you used?
    It should have a class for outputing xml
    example using JDOM
    XMLOutputter writer = new XMLOutputter(Format.getPrettyFormat());
    OutputStream out = new FileOutputStream("dummy.txt");
    writer.output(doc, out);
    //this case it write to a file but in your case you can pass in ServletOutputStream
    or ByteArrayOutPutStream then use method writeTo() to send it to ServletOutputStream
    another thing, make sure to set your content length corretly,
    resp.setContentLength(200);
    how do you know its length is 200
    if you are going to use ByteArrayOutPutStream, it will give you the correct length
    for instance
    ByteArrayOutPutStream out = new ByteArrayOutPutStream ();
    XMLOutputter writer = new XMLOutputter(Format.getPrettyFormat());
    writer.output(doc, out);
    int len = out.size();
    now you can do this
    resp.setContentLength(len);
    finally,
    out.writeTo(resp.getOutputStream());
    it should send a stream out to the client.
    bottom line is, find out your package API or you can post the package you use, I can take a look
    here is a sample of using JDOM to create a document then output it out to System.out
    good luck
    public static void createXMLFile()
              Element root = null;
              Document doc = new Document();
              try
                   String[] arr = {"MainElement ","SubElement1","SubElement2","SubElement2"};
                   String[] arr1 = {"MainElement ","SubElement111","SubElement22","SubElement332"};     
                   root = new Element("root");
                   doc.setRootElement(root);
                   //for each array do the following
                   Element e = new Element(arr[0].trim());
                   root.addContent(e);     //<MainElement>
                   for (int i = 1; i < arr.length; i++)
                        e.addContent(new Element(arr.trim()));     //<SubElement1>
                   //finally output to a file as your choice
                   XMLOutputter writer = new XMLOutputter(Format.getPrettyFormat());
    //               OutputStream out = new FileOutputStream("dummy.txt");
                   writer.output(doc, System.out);
    //               out.flush();
    //               out.close();
              catch (Exception e)
                   e.printStackTrace();

  • Could soap return a xml to client?

    Hi everyone:
    I want to know whether soap could return client a xml document. I mean that I want to display a xml to client's Browser after client invoke a soap method. It is possible? But I don't want to create a xml in the server because it shouldn't have many xml file in the server created by client. If it can how to do using Stream?
    thks

    Any idea?

  • Returning XML to client from web service

    Hi,
    I am new to developing web services using JAX_RPC. I am trying to return a xml document to the client from the web service.
    My Server implementation is as follows:
    Interface:
    public interface OntoIF extends Remote
    public DataHandler ontoCompare (String targetUrl,String sourceUrl ) throws RemoteException;
    Implementaion:
    public class OntoImpl implements OntoIF
    public DataHandler ontoCompare (String targetUrl,String sourceUrl ) throws RemoteException
    DataHandler dataHandler = new DataHandler( new StreamSource( new File ("status.xml")), "text/xml");
    return dataHandler;
    Client Implementation:
    Stub stb = (Stub) (new OntoService_Impl().getOntoIFPort());
    stb._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,
         "http://localhost:8080/onto-service/onto");
    OntoIF onto = (OntoIF) stb;
    DataHandler retDHandler = onto.ontoCompare(targetOntoUrl, sourceOntoUrl);
    When I compile and run my client, it throws the following error -
    java.rmi.ServerException: JAXRPCSERVLET28: Missing port information
    at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.ja
    va:497)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:294
    at sstub.OntoIF_Stub.echoDataHandler(OntoIF_Stub.java:122)
    at sstub.OntoClient.main(OntoClient.java:63)
    Can you please let me know what I am doing wrong? I have no problems in sending a DataHandler but receiving the DataHandler from the web service throws errors.
    Thanks!

    Hi I'm having the same problem. I try to set up a Web Service using JAX_RPC. My WS should invoke a native Method implemented in C++. Did you got a solution for this issue? My Error Message is as follows:
    java.rmi.ServerException: JAXRPCSERVLET28: Missing port information
         at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:497)
         at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:294)
         at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:80)
         at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:489)
         at com.sun.xml.rpc.client.dii.CallInvocationHandler.doCall(CallInvocationHandler.java:122)
         at com.sun.xml.rpc.client.dii.CallInvocationHandler.invoke(CallInvocationHandler.java:86)
    at $Proxy0.getHello(Unknown Source)
         at com.neuhaus.test.ws.client.NativeInvokeClient.main(NativeInvokeClient.java:44)
    Exception in thread "main"
    greetings, JAN

Maybe you are looking for