Reading/Setting Process Data Objects from Java Spring Component or XSLT
I have a BPMN process that references a Spring Component service.
The Spring service has a Java class and within that class I'd like to be able to reference process data objects of the BPMN process.
Ideally, I'd like to simply read and write to those objects within the Java class.
However, if that's not possible, I don't I can set input parameters on the Java class and have it return an object.
If I go that route, how can I pass in or return an object of a type other than your standard types (string, int, boolean)?
For example, I have a data object that is a type I created based on a schema.
How would I refer to that in a Java class?
Hope that makes sense.
Thanks,
Mike
Hi Adam.
I'm a little confused on the order of operations.
Here are the steps I took:
1. In JDeveloper, I created two Java classes: one interface and one class that implements it. Initially, the one method takes parameters that are Strings. I want it to also take a data type that's defined in a schema.
2. In the composite, drag Spring Context component onto screen. This opens the XML and here I define the <bean> that points to the two Java classes I just created.
3. In the composite, I create a pointer from the Spring component to Exposed Services and I create a new service, which creates the WSDL.
4. Now I edit the WSDL to import the schema that defines the type I want.
5. In my BPMN process, I add a call to the service I just created. For Data Associations, it recognizes the changes I made to the WSDL and I can map input variables to the new type added in step 4.
Here's where I'm stuck. In the actual Java class, I don't know how to add the parameter for the data type I created. Where is this Java object created?
Thanks,
Mike
Similar Messages
-
How can read and process data uploded from a datalogger on a network with labview
hello evryone.
i have a agilent datalogger 34972a data acquire temperature reading and makes them availlable on a network. i would like to acess this data on a pc running labview, analyse and prsent them. my problem is that i am not quite sure how to tell labview acquire this specific data.
any help would really help me getting started.
thanks already.
YannAre you
Running the Agilent stand alone (or using Benchlink) and writing data to a file on the network ?
Do you want to use LabView to control the networked data logger and aquire data?
If you are doing #1 then you can not use LabView because the Agilent (and Benchlink) strores data in a proparitary format.
You have to use Benchlink to export the data to a CSV file before any other program besides Benchlink can read it.
If you want to do #2 then you simply access the Agilent through VISA just like if it were connected using USB, Serial, or GPIB. -
Good Day!
I'm currently working on a project wherein it tries to get data from a JMSqueue Map Message being populated by CEP.
After CEP pushes some data in the JMSqueue. I have BPM configured with a JMS adapter to look up whether there are any messages to be processed upon.
Inside BPM, I want to know how can I correlate the data from the Map Message to my Process Data Object.
For example, If I have a Map Object wherein it has 3 attributes:
FirstName:String
LastName:String
Age:int
What is the expression I need to use inside Oracle BPM Data Association screen in order to map the data from the Map Messages into my process data objects?
Thanks!
Regards,
JeffAny ideas? Thanks!
-
Add/Remove data object from dataset
Hello,
I was working out a way to add and remove data from a dataset
on the fly and could not figure out any built in methods to do
this.
As I have decided to include spry in my project I like to try
and utilise as much as of its code as possible since it is
complicated to explain I have created a simple example – a
colour picker! (thought it might be more interesting…) of
what I am trying to achieve at
http://www.freshfresh.co.uk/spry/
- if you have a go on this and maybe look at the source code (all
the JS is embedded in HTML there are no modifications to other the
other core files). I have only used spry effects etc, including the
‘accordion’ – which I have become quite attached
to, it is really good for condensing pages down.
You will see I am using the setDataFromDoc method to create
the dataset – I tried the .data = myArrayOfData; .dataHash =
hashTable; method i.e. creating from an object rather than array
but it did’nt seem to play ball with the
addDataChangedObserver method – it did’nt update itself
each time it was modified (I am sorry I cannot remember exactly
what I did – but I tried all kinds of ways…). I stuck
with the string method because it worked - each time my new dataset
changed it updated itself on the screen (you will have to have a
look to understand.....sorry!!), but I would be interested to know
how such a thing could be implemented using the object route if you
believe this would be more efficient.
My second question is more simple – is there a shorter
way to add and remove a data object from a dataset? – as you
can see from the source code I have effectively created an
‘interface’ to do these tasks…. I could’nt
work out whether these methods are already built in. Maybe they
are?
Third question is… to extract a data object from a
dataset I use the .dataHash[the_row_id] method – is this the
right thing to do or could it lead to complications… that is
using methods that might supposedly be private?
Fourth question (observation really) – whilst creating
that colour picker example I went over board with my datasets and
loaded in several palettes some of which had over 1000 elements or
data objects. Which inevitably was very slow (on my computer
anyway) – but it got me thinking about trimming the contents
of my spry regions for better performance. I am I right in thinking
that the less HTML etc that there is in a spry region the quicker
SPRY will process it. For example say you had spry repeat with an
image tag in with some onclick, onmousover, onmouseout, style
attributes etc and compare this to a spry repeat with a simple
image with minimal attributes set. I suppose what I am trying to
say is – does spry ‘store’ all the contents of
each spry region somewhere? Or does it just process it and leave it
to the browser dom?
Fifth observation.... I find it really difficult to explain
computer technicalities in writing. It must be tough reading these
posts.... I know I find it difficult sometimes when dealing with
written end user feedback!
AndrewJust clarifying my questions a bit further....
I found some old code regarding question 1 by using the
object method I mean something like this...
var mySwatches = [{'@hex':'ff0000'},{'@hex':'00ff00'}];
var hashTable = [];
function createDs(){
for (var i = 0; i < mySwatches.length; i++)
mySwatches
.ds_RowID = i;
hashTable = mySwatches
dsMySwatches.data = mySwatches;
dsMySwatches.dataHash = hashTable;
dsMySwatches.loadData();
i.e. not writing out a whole XML string string as the online
example does. When using this way I did'nt seem to be able to get
the HTML to refresh. I tried using [
Spry.Data.updateRegion('mydata'); ] after recreating the dataset I
also tried adding an [ .addDataChangedObserver ] (like in the
string example) amongst numerous other ways but it just would not
work like the string way. - Maybe I did something wrong somewhere.
In question 3 I refer to the [ .hash ] method .... its not a
'method' its a 'property' - my question should read - is it ok to
access private properties (from a browser campatiblity/security
point of view) that do not have specific methods to gain access to
them. I suppose it does'nt really matter with JS...
In question 4 I mention minimising the amount of code in a
spry region to speed it up. A clearer example of this might be for
example - a gallery with lots of images. As we know there will be a
slight delay as SPRY writes all the html so to speed up that intial
write I strip out all the image attributes such as onlclick do
this, onmouse over do that... and add these after the images have
loaded using a seperate function similar to my
fillSwatches(ds,prefix) function in my online colorpicker example.
I suppose it like a 2 tier processing of all the data. SPRY does
the intial display writing to get everything in place and then
another pass is made over to add any further functionality
adjustments etc. I am still not sure if that makes any sense!
***edit
Also on the subject of speed and the application as a whole
i.e. including my PHP - In one example I was creating I ended up
with an XML structure where each node has over 14 attributes i.e.
<somenode att1=”x” ……..
att14=”z”/> - as the file grew it obviously took
longer to process particularly on the server side, i.e. added all
those attributes just slowed it all down. So I did
this…… <somenode att1=”x:y:z” /> i.e
condensed selected attributes into a string that I could explode
later on.
Obviously this limits SPRYS ability to access the attributes
using the {attr} syntax. I had to create a function to explode the
array and do the ‘necessary’ on a second pass over the
data – this works ok for me. But its interesting that in this
particular case the server could not refresh the XML in an
acceptable time without doing this – just thought that might
be interesting to you. I suppose technically what I am doing is
abusing the concept of an XML structure and simply using it as a
‘carrier’ to feed my application …. Which I
suppose is where JSON comes in…. which is a bit more compact
and maybe faster to manipulate on both the server and client side
– I don’t really know, I have never used it –
just throwing ideas around!!
Andrew -
BPM Process Data Object vs Managed Bean
I need to store an ID which is the primary key of a record in a database in my BPM process so that I can use that to set the bind variable on my view object query. Is it better to store this ID in a process data object or in a managed bean and why is one better than the other?
I suggest to do the other way.
Store the BPM Process Instance Id in the Database when you create data in the table.
Pass this Instance Id to the VO query parameters.
You can create a page binding of this instance Id from the Data Controls
I am assuming there is a 1-1 relation between your BPM Process and Database Row. -
Returning objects from Java stored procedures
I need to pass an object from Java to a Java SP which updates the object and returns the object back. The Java SP will be calling a PL/SQL procedure which returns some nested tables that I want to stick into the passed object.
I tried using "IN OUT" for the object in the call spec but got an error that it was not "appropriate for the parameter". So, the next option seems to be to pass it in and then return it from the Java SP. I'm just wondering though what the the best approach for accomplishing this? I've looked through some of the sample code on the OTN but haven't found anything yet that really helps.I am trying to use custom object classes. I have setup a type map for the connection and my custom class implements SQLData. Yet, when my client tries to call the Java SP, it gets ORA-00932 complaining of inconsistent data types (expected IN conversion failed).
I turned on some debug info (i.e. oracle.jdbc.sql=true) but it didn't provide any useful info in regards to why I'm getting this error. Unfortunately, the JDBC Developer's Guide does not provide full examples of the code. -
Difference between Service data objects and process data object
Hi
Can anybody tell me what is the difference between SDO (Service Data Objects) & PDO (Process Data Objects).I am using 2 port PCI-CAN series 2 card.
If anybody knows the answer then please reply.
Thanking YouHi,
See the online help file from our NI CANopen Library for LabVIEW for some basic informations about SDOs and PDOs.
More information should be available from the web.
DirkW
Attachments:
lvcanopenvhelp.zip 154 KB -
Hi all,
How to change a date value from "java.util.Date" to "java.sql.Date"?
I m still confusing what's the difference between them.....
thanks
Regards,
KinThanks
but my sql statement can only accept the format (yyyy-MM-dd)
such as "select * from xx where somedate = '2004-12-31'
but when i show it to screen, i want to show it as dd-MM-yyyy
I m using the following to change the jave.util.Date to str and vice versa. But it cannot shows the dd-MM-yyyy. I tried to change the format from yyyy-MM-dd to dd-MM-yyyy, it shows the wrong date in my application.
public String date2str(java.util.Date thisdate) {
if (thisdate != null) {
java.sql.Date thissDate = new java.sql.Date(thisdate.getTime());
return date2str(thissDate);
} else {
return "";
public String date2str(java.sql.Date thisdate) {
if (thisdate != null) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(thisdate);
} else {
return "";
public java.util.Date str2date(String thisdate) {
String dateFormat = "yyyy-MM-dd"; // = 1998-12-31
java.util.Date returndate = null;
if (thisdate != null) {
SimpleDateFormat dateFormatter = new SimpleDateFormat(dateFormat);
try {
returndate = dateFormatter.parse(thisdate);
} catch (ParseException pe) {
System.out.println (pe.getMessage());
return returndate;
} -
BPM Process Data Object of type Business Objects
I am using JDeveloper11.1.1.5 and using BPM Project. I have created a business object of type Quote and I want create a Process data object of type Quote. But I don't find 'Browse more types' button on Create data object wizard. I am stuck at this place. Is there any work around or do I need to revert to older version of Jdeveloper.
Regards
Sunil MandrawadkarHave you tried with following forum.I think you can find answer quickly from that.
Business Process Management Suite -
Nwdi-managed access of pcd-objects from java web dynpro
Hi,
im am trying to access portal pcd-objects from a java web dynpro component (namely getting and setting personalized iview properties). for locally managed web dynpro components this works fine with the code below.
when i try the same with a nwdi managed web dynpro component i run into problems regarding references to used dcs. for instance, i need to reference used dc SAP_JTECHS/tc/epbc/pcm/adminapi/java because the build needs tcepbcpcmadminapijava.jar which is inside the mentioned dc. but access permissions of this dc don't allow the dependency. when i try to "add used dc ..." in nwds i get the error message: illegal dependency: access list does not allow use of ...
has someone any solution for this problem? are there other ways of accessing pcd-objects from java web dynpro (nwdi managed!)?
thanks
heiko
private static void savePersonalizationData(String value) {
try {
IAttributeSet attributeSet = (IAttributeSet) getIview(IVIEW);
attributeSet.putAttribute(ATTRIBUTE, value);
attributeSet.save();
} catch (Exception e) {
private static Object getIview(String pcdPath) throws Exception {
Hashtable env = new Hashtable();
env.put(
com.sap.portal.directory.Constants.REQUESTED_ASPECT,
com.sap.portal.pcm.admin.PcmConstants.ASPECT_SEMANTICS);
env.put(
Context.SECURITY_PRINCIPAL,
WDClientUser.getCurrentUser().getSAPUser());
env.put(
IPcdContext.PCD_PERSONALIZATION_PRINCIPAL,
WDClientUser.getCurrentUser().getSAPUser());
InitialContext iCtx = new InitialContext(env);
return iCtx.lookup(pcdPath);Hi Kust,
To access the PCD objects the code you used looks ok for me but your main issues is related to the dc access permissions. This thread discussed about the similar issue. Please review this below thread.
/message/979328#979328 [original link is broken]
Regards
Krishna Reddy -
Calling inactive version of ABAP object from Java
Hello,
When I call an ABAP object from Java Program which version of ABAP object is called inactive or active ?
Is there a mechanism to call the current inactive version or any other previous inactive /active versions ?
Regards,
TarunOnly the "active" version of ABAP code is active and runnable.
You cannot run inactive versions. Like you have to compile a .java file to a .class file o make it runnable in the JVM. -
Return Date object from StoredProcedureCall
Hi,
I have a simple call to a StoredProcedure through toplink which returns date parameter. I want to know if I can retrieve a Timestamp or a Date object from executeQuery().
I get a ClassCastException every time I do that. It works only if I retrieve it as a string. Am I doing something wrong? My code is as follows -
Session session = getSessionFactory().acquireSession();
StoredProcedureCall call = new StoredProcedureCall();
call.setProcedureName("PROC_NAME");
call.addNamedArgument("P_1");
call.addNamedArgument("P_2");
call.addNamedArgument("P_3");
call.addNamedOutputArgument("P_TRX_DT");
ValueReadQuery query = new ValueReadQuery();
query.setCall(call);
query.addArgument("P_1");
query.addArgument("P_2");
query.addArgument("P_3");
Vector parameters = new Vector();
parameters.addElement(govNum);
parameters.addElement(areaCode);
parameters.addElement(trxType);
Timestamp trxDateTime = (Timestamp) session.executeQuery(query, parameters);
ThanksIn your call to call.addNamedOutputArgument("P_TRX_DT"); , you haven't specified the OUT type of of the arguement "P_TRX_DT". If you dont specify the type, it defaults to java.lang.String. you call should be something along the lines of
Timestamp P_TRX_DT = null;
call.addNamedOutputArgument("P_TRX_DT", // parameter name in stored procedure i.e. the stored procedure should have an OUT parameter name that is exactly
// same as P_TRX_DT
"P_TRX_DT", //arguement name (variable name represesenting the OUT value in java code i.e. declararion from above)
java.sql.Timestamp // Java type that maps to the SQL type returned by the proc i.e. the OUT type map to java type
//without the comments it should look like this
call.addNamedOutputArgument("P_TRX_DT","P_TRX_DT",java.sql.Timestamp); Can you post your stored function as well. Also you may want to have a look @ http://www.oracle.com/technology/products/ias/toplink/doc/1013/MAIN/_html/qrybas004.htm. See how DatabaseRecord is used to capture the returned value -
Cannot Acccess Applet Object from Java Script
Hi,
I am using jRE1.5, and Kava Chart Applets. Those applet jars are compiled in jdk 1.5 version. I have created one jsp where I used ,<applet> tag. The problem is when ever I am going to access the applet object from java script it is not returning the actual java applet object, when put an alert message it shows [object]. So i am not able to access the methods or the applet class.and also the screen gets hung, nothing is coming.It get stuck at the point where i tried to access the applet method like document.getElementById(applet_id).<<<some method of the applet class>>.Also it is not showing any kind of javascript error or Applet class exceptions.
But the strange thing is, when i use jdk 1.6, the page is running fine.Also when i try to print the applet object from javascript it is showing the proper class name.
Please help me solving the problem.A number of changes and improvements were made between 1.5 and 1.6 - the entire plugin is new. You need to change to 1.6, as 1.5 goes EOL about November this year and future changes to this area in 1.5 are unlikely.
-
How to send data to bam data object through java code
how to send data to bam data object through java code
I've made a suggestion in other thread: https://forums.oracle.com/thread/2560276
You can invoke BAM Webservices (Using Oracle BAM Web Services) or use JMS integration using Enterprise Message Sources (http://docs.oracle.com/cd/E17904_01/integration.1111/e10224/bam_ent_msg_sources.htm)
Regards
Luis Fernando Heckler -
Querying instances in 11g and filtering by process data object
Hi all,
I have tried to query instance following this link: http://soadev.blogspot.com/2011/07/querying-oracle-bpm-process-instances.html. It works fine, but I need to filter the instances by a process data object with a String type. Is it possible to do this?Thanks Mihai
Does it mean that if the admin user does not purge instances specifically, the uses will continue to find them by querying for completed instances in their worklist (when they have already taken action for their human task, and when the related BPEL instance is finished)?
Thanks
Satinder
Maybe you are looking for
-
ITunes Freezes when I try to sync my new iPod Touch
I can't sync my new iPod with my iTunes library. I have posted in the iTunes forum, although my title says that I have solved the issue. It isn't, so I'm contemptlating reposting. I bought a 64gig iPod Touch the other day to replace an old broken iPo
-
How to find the number of executions of a sql oracle 10g
Is there any script handy which is useful to get the number of executions of a sql in particualr time in a rac environment.
-
I created a database using Application Express and can not recall my password. I am able to log in as an Admin; however the system will not allow me to reset the user's password because an email address is not available in the system. Can anyone tell
-
Latest flex sdk for Flash Builder 4
HI, We bought Flash Builder 4 Premium and installed it. Now I want to use the latest flex sdk to use with it (I am working on a project using TLF 2). What is the version I should install, is it sdk 4.1 or 4.5(Hero). In Flex 4.1 there are about three
-
Hi, Im trying to capture HDV in PE7......think I have all the settings right in Preferences...... But keep getting.......not a supported format or a codec is missing............. What do I do......?........FIL