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
-
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
RaviHi ,
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 SuwanapongIf 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,
YannHi 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,
SLNHi 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. Its driving me crazy.
Thanks
DavidHi,
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[ArCnTaskForms@EBSConnection@EBSConnection_base_domain]=(ServerResourceInfo[ArC
nTaskForms@EBSConnection@EBSConnection_base_domain]=(state=rolledback,assigned=s
oa_server1),xar=weblogic.jdbc.wrapper.JTSEmulateXAResourceImpl@fa5476,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, ArCnTaskForms@EBSConnection@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 'ArCnTaskForms@EBS
Connection@EBSConnection_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
PaoloSo, 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,
DanielDaniel 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 org.dom.xml....@sd7fs87d 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?
thksAny 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
-
How to change the color of Menu links in obiee
Does anyone knows how to change the colors of Menu links in obiee. With menu I mean the menu links default right top (Search, homepage, Catalogus, Dashboards, new, Open). This should be set in skin and style files, not? I searched a lot. I could not
-
Custom Sort (by date) in a DataGrid component
So I've got a data grid component hooked up to a data provider like so: var weekData:XML=// some xml loaded in earlier.... var weekGrid:DataGrid=new DataGrid(); var dataProvider:DataProvider=new DataProvider(); for each(var entry:XML in weekData){
-
All mail is marked as unread following iOS 7 install. How do I fix that?
All mail is marked as unread following iOS 7 install. How do I fix that?
-
Capture the rows selected in a multiselect table view (BSP)
Hi, My requirement is: I have a table view in which I can select multiple rows. I will be selecting some rows, and pressing a button. Functionality of button is written in Javascript, to open a popup window. But how will I capture which all rows were
-
Using Pacifist and OSX 10.6.4 Combo updater to restore old CUPS file
I am planning to update to 10.6.5, but am anticipating printing problems with Adobe programs (after reading posts on this discussion board and at MacFixit). I have heard one solution (after updating to 10.6.5) is to replace the new pstops filter in t