Error with TaskSearchFilter using Java APIs in custom component
I have created a custom Java component for use in LC Process Mgr.
Upon invoke of process containing component, component fails with the following message:
2011-02-28 16:28:31,260 ERROR [com.adobe.workflow.AWS] Cannot coerce object: [email protected]41 of type: com.adobe.idp.taskmanager.dsc.client.query.TaskSearchFilter to type: class com.adobe.idp.taskmanager.dsc.client.query.TaskSearchFilter
Code is pretty basic:
ServiceClientFactory myFactory = ServiceClientFactory.createInstance();
TaskManagerQueryService queryManager = TaskManagerClientFactory.getQueryManager(myFactory);
TaskSearchFilter filter = new TaskSearchFilter();
filter.addCondition(TaskSearchingConstants.pSTATUS, Operator.EQUALS, "3");
List<TaskRow> result = queryManager.taskSearch(filter);
Error seems to occur with the creation of the List. This code works ok when run as standalone file in either Eclipse or Netbeans but not within the component.
All necessary JARs are included and are listed in the class-path in component.xml.
Does anyone have any ideas?
Thanks,
David
Looks like a class loader issue. Usually this is caused by having the a class (TaskSearchFilte) in your component that on the server. In other words there are two copies of the TaskSearchFilte class - yours and the one already in LiveCycle - and they are in conflict.
If that's the case, the solution is simple:
remove the jar files containing the TaskSearchFilte (and any other LiveCycle clients) from your component's jar file. You may need them in the build path, so your code can compile - but you don't need them in the final component jar.
remove the references to these jar files from the component.xml file's class-path entry
add an import-packages section to your component.xml file. This will not reference the jar files, but the package names themselves. For example:
<import-packages>
<package version="1.0">com.adobe.idp.taskmanager.dsc.client.query.TaskSearchFilter</package>
<!-- add more as needed -->
</import-packages>
Similar Messages
-
Process with RenderPDFForm using Java API not generating output file
I have a short-lived process that renders a PDF/HTML form based on input parameters. It also takes a .xdp file as input. This works just fine from with
in Workbench (9.0). I have created a Java client to invoke this process. When I invoke the process from the Java Client,
it is not creating the output file. When I look at the invocation response, I see the output parameter (output file) name, but it is null.
Here is my code.
Properties connectionProps =
new Properties();
connectionProps.setProperty(
"DSC_DEFAULT_SOAP_ENDPOINT", "http://hostname:8080");connectionProps.setProperty(
"DSC_TRANSPORT_PROTOCOL","SOAP");
connectionProps.setProperty(
"DSC_SERVER_TYPE", "JBoss");
connectionProps.setProperty(
"DSC_CREDENTIAL_USERNAME", "username");
connectionProps.setProperty(
"DSC_CREDENTIAL_PASSWORD", "password");
//Create a ServiceClientFactory object
ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
//Create a ServiceClient object
ServiceClient myServiceClient = myFactory.getServiceClient();
//Create a Map object to store the parameter value
Map params =
new HashMap();
File file =new File("C:/test1/test.xdp");File ofile =
new File("C:/TestProcess.pdf");
//String formName = "RD410-4.xdp";
InputStream inFile =new FileInputStream(file);OutputStream oFileStream =
new FileOutputStream(ofile);
byte[] cData = "".getBytes();
Document inputData =
new Document(inFile);
// Document outputData = new Document(oFileStream);
inputData.passivate();
params.put("Form", inputData);params.put(
"FormId", "12");params.put(
"RevId", "12");params.put(
"OutputType", "PDF");params.put(
"targetSubmission", "http://localhost:8090/LCWebProject/HandleData");params.put(
"param1",1);
InvocationRequest invokeRequest = myFactory.createInvocationRequest(
"MyApplication10/Processes/RenderForm", //Specify the short-lived process name
"invoke", //Specify the operation name
params,
//Specify input values
true); //Create a synchronous request
InvocationResponse invokeresponse = myServiceClient.invoke(invokeRequest);
Document encryptDoc = (Document) invokeresponse.getOutputParameter("outputFile");
//Save the encrypted PDF document returned by the process
//Save the password-encrypted PDF document
File outFile =new File("C:\\test1.pdf");encryptDoc.copyToFile (outFile);
I see the output parameter "outputFile" in the invokeresponse object. But it is null.
Can anyone guide me in the right direction ?
Thanks,
JyothiI am not giving the solution, providing you a hint..
This is the query you need to satisfy,
SELECT NVL(R.DESCRIPTION ,CP.USER_CONCURRENT_PROGRAM_NAME)
FROM FND_CONCURRENT_REQUESTS R, FND_CONCURRENT_PROGRAMS_VL CP,XDO_DS_DEFINITIONS_B XDS
WHERE ( ( FND_PROFILE.VALUE('CONC_REPORT_ACCESS_LEVEL') = 'U'
AND R.REQUESTED_BY = :$PROFILES$.USER_ID ) or
( FND_PROFILE.VALUE('CONC_REPORT_ACCESS_LEVEL') = 'R'
AND R.RESPONSIBILITY_ID = :$PROFILES$.RESP_ID ) )
AND R.PROGRAM_APPLICATION_ID = CP.APPLICATION_ID
AND R.CONCURRENT_PROGRAM_ID = CP.CONCURRENT_PROGRAM_ID
AND XDS.APPLICATION_SHORT_NAME=
( SELECT APPLICATION_SHORT_NAME
FROM FND_APPLICATION
WHERE APPLICATION_ID=CP.APPLICATION_ID)
AND XDS.DATA_SOURCE_CODE = CP.CONCURRENT_PROGRAM_NAME
AND R.OUTPUT_FILE_TYPE='XML'
AND R.STATUS_CODE not in ('E', 'D', 'T', 'X')
ORDER BY R.REQUEST_ID DESC
Go to system profiles and query for 'Concurrent:Report Access Level', responsibility you need and modify the profile name accordingly.... -
Can i create more than one attributes for the custom class created using java API
Hello everyone,
I have been creating class and its attributes programatically using java APIs, I want to know that is there any way to create multipal attributs for the same class in just one call of API with all the options for each attributes,
thanksYou can create a new class and define all of the Attributes at the time the class is created - this is the preferred way of creating classes. Use the addAttributeDefinition() method on ClassObjectDefinition. If you need to add attributes to existing classes, you can only add them one at a time (using the addAttribute() method on ClassObject).
(dave) -
Issue about Invoking a BPEL Process with the Generic Java API
I Invoking a BPEL Process with the Generic Java API and apache axis or axis2
it turn up a error as follow:
org.apache.axis2.AxisFault: ORABPEL-08021
Cannot find partner wsdl.
parnterLink "BPELProcess1" is not found in process "BPELProcess1" (revision "v2008_11_17__38943").
Please check the deployment descriptor of the process to find the correct partnerLink name.
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
at wf.Test_axis2_callws.main(Test_axis2_callws.java:41)
i can't solve it !
what's problem ???
anyone use java code to invoke bpel process successfully..can show me some example?
thanks
chanHi,
Check below link may help you solve your problem.
http://www.activevos.com/cec/samples/content/sample-invoke/doc/index.html
Regards -
Can't display a Tile Layer using JAVA API V2 (based on HTML5)
Hi Experts,
I am trying to display a tile layer using JAVA API V2 but i get the below error and nothing shows after that.
MAPVIEWER-05501: Map tile layer not found. Check map tile layer name and/or data source name.
Source: OM.layer.Tilelayer.getTileLayerConfig
*[mvdemo.demo_map]*
I tried with chrome and firefox browsers which supports HTML5 but same issue. Here is the html code i am using
<html>
<head>
<title></title>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<script type='text/javascript' src='http://localhost:8282/mapviewer/jslib/v2/oraclemapsv2.js'></script>
<style type= 'text/css '>body {cursor:default;}</style>
<script language="JavaScript" type="text/javascript">
function showMap()
var baseURL = "http://"+document.location.host+"/mapviewer";
var mapCenterLon = -122.45;
var mapCenterLat = 37.6706;
var mapZoom = 4;
var mpoint = new OM.geometry.Point(mapCenterLon,mapCenterLat,8307);
var map = new OM.Map(
document.getElementById('map'),
mapviewerURL: baseURL
var tileLayer = new OM.layer.TileLayer(
"baseMap",
dataSource:"mvdemo",
tileLayer:"demo_map",
tileServerURL:baseURL+"/mcserver"
map.addLayer(tileLayer) ;
navigationPanelBar=new OM.control.NavigationPanelBar();
map.addMapDecoration(navigationPanelBar);
map.setMapCenter(mpoint);
map.setMapZoomLevel(mapZoom) ;
map.init() ;
</script>
</head>
</html>
Note: inside the body on load i use DIV Id = Map (i skipped that one line of code because it stops rest of the line from displaying in the thread)
However, I am successful in using the same tile Layer with JAVA API V1
Please share your thoughts as what could be the fix
Thanks
NagNag,
inside the body on load i use DIV Id = Map (i skipped that one line of code because it stops rest of the line from displaying in the thread)please surround your code with [ c o d e ] [ / c o d e ] (without the spaces).
Secondly: this is probably more appropriate for the {forum:id=727} forum.
Regards,
Stefan -
How to find bpel instance in 11g based on the index values using Java APIs
Hi ,
In SOA10G we had option to find the instances based on the index value using Java APIs like below.
WhereCondition criteria= new WhereCondition(SQLDefs.CX_index_1 + " = ?");
criteria.setString(1, "indexValue");
Locator mLoc = getLocator();
IInstanceHandle[] foundInstances = mLoc.listInstancesByIndex(criteria);
Please tell me how to achieve the same functionality in SOA 11G using Java APIs
Regards,
SabaI have multiple bpel in my composite. I checked in ci_indexes table and it shows the instance number of the bpel process. But the em console is showing only the composite instance number. when I opened composite instance, I could see all the bpel process with instance number in the audit trail. How can I find the the actual composite instance number that I should search for in the em console ???
-
IllegalStateException while invoking livecycle formserver using java api
I am new to livecycle formserver.when i am trying to invoke formserver using java api ,it is giving illegal state exception.My servlet application to invoke formserver is deployed in tomcat 5.o in one system and jboss with formserver is in anohter system.
I am using the following properties to connect formserver in another system.
Properties ConnectionProps = new Properties();
ConnectionProps.setProperty("DSC_DEFAULT_EJB_ENDPOINT", "jnp://172.21.49.116:JBoss:1099");
ConnectionProps.setProperty("DSC_TRANSPORT_PROTOCOL","EJB");
ConnectionProps.setProperty("DSC_SERVER_TYPE", "JBoss");
ConnectionProps.setProperty("DSC_CREDENTIAL_USERNAME", "administrator");
ConnectionProps.setProperty("DSC_CREDENTIAL_PASSWORD", "password");
And i am confusing in setting the following paths using UrlSpec object.
URLSpec urlspec = new URLSpec();
urlspec.setApplicationWebRoot("http://JBOSS:8080/FormServer");
out.println("after webroot");
urlspec.setContentRootURI("http://localhost:8080/srvapp");
out.println("after contentroot");
urlspec.setTargetURL("http://localhost:8080/srvapp/HandleData");
My .xdp file is in my localsystem where my tomcat is running.and renderToHtml method is like this:
FormsResult formOut = Fsc.renderHTMLForm(formName, TransformTo.AUTO,oInputData,htmlRenderSpec,"",urlspec,null);
i am passing the path of the .xdp file in my local system to formName parameter.
with this code i am facing problem.Is there anything wrong in my code?or is there any settings to change in formserver?
please help me with this problem,i am trying to sort out this problem.
Any help?
Thanks in AdvanceIf you are invoking LiveCycle ES2 on JBoss compile with JDK 1.6 and run against JRE 6.
Steve -
Iterate through all the records in a table using Java API
Hi All,
What is the easiest way to iterate through all the records in a given table using Java API? I cannot find any methods that will return all records in a table and the only way I can use is to perform a free form search with a condition that is always true. The code works but is pretty ugly. Is there an alternative to this approach?
Thanks!
KennyHi Kenny,
You can construct a new Search object with your table's code name, a new ResultSetDefinition object for your table and just execute this search using the GetResultSet method of CatalogData.
Please look at the following code:
Search search = new Search(<code name of your table>);
ResultSetDefinition rsd = new ResultSetDefinition(<code name of your table>);
rsd.AddField<code name of a field>);
rsd.AddField(<code name of a field>);
String sortField = <code name of your sort field>;
boolean sortAscending = true;
int page = 0; //page number
A2iResultSet rs = <your CatalogData object>.GetResultSet(search, rsd, sortField, sortAscending, page);
for (int i = 0; i < rs.GetRecordCount(); i++)
Value fieldValue = rs.GetValueAt(i, <code name of a field>);
Hope this helps,
Nir
PS - I really recommend you to start using the new API, as it is much more efficient and straight-forward. -
Best option to push Mass data using Java API
Hi All,
Can any one let me know how Java API push data to MDM? Is it a good option when ti comes to perfromance point of view? We have around 2000/5000 records to be imported every time using Java API and wondering what would be best way to acheive this using Java API?
Is java API is best option than Web services?
Thanks
RajeevRajeev,
It is perfectly fine to use API to push data into MDM, you just need to make sure that your API does all those tasks which import manager does by default. For example, it should know when to insert and when to update. if an error happens during insertion of record, you should be able to notify the users.
Having said that, where does the number 2000/5000 comes in? will you be creating users in batch and then invoke MDM API to store these in a single shot or willl it be a delta insert/update from Java to MDM?
Thanks
Aamir -
How to build a small application using Java API
Hai expertise,
I want to retreive MDM repository info using JAVA API, i am following these blogs:
/people/andreas.seifried/blog/2006/03/26/performing-free-form-searches-with-mdm-java-api
/people/udi.katz/blog/2005/08/21/retrieving-data-from-mdm-server-using-the-mdm-java-api
/people/udi.katz/blog/2005/07/17/mdm-connectivity-to-java-application
<b>where to get the jar and sda files to build the application??
In Developer Studio.. Windows -> Preferences -> Java -> Classpath variables. Is this the only place where we need to give the jar file path??
Are there any other configurations to do(except setting container variable to MDM4J jar file) to connect my java application to MDM repository???</b>
Regards,
Chand.Hi Govada,
(1)You need to add the MDM4j and other JAR files at:-
right click on project -> Java Build Path -> Libraries -> Add External JARs
(2)If the project is Web Dynpro project one
then right click on project -> Web Dynpro Reference -> Library Reference -> and add sap.com/com.sap.mdm.tech.mdm4j
Are you using JAVA API 1 or 2???
Thanking you
Namrata Dixit -
Image not displayed in pdf generated using Java API for Forms service
Hi,
I am creating a pdf document using Java API for Forms Service.
I am able to generate the pdf but the images are not visible in the generated pdf.
The image relative path is coming in the xml as defined below. The images are stored dynamically in the Livecycle repository each time a request is fired with unique name before the xml is generated.
<imageURI xfa:contentType="image/png" href="../Images/logo.png"></imageURI>
Not sure if I need to specify specify specific URI values that are required to render a form with image.
The same thing is working when I generate pdf document using Java API for Output Service.
As, I need to generate interactive form, I have to use Forms service to generate pdfs.
Any help will be highly appreciated.
Thanks.Below is the code snippet:
//Create a FormsServiceClient object
FormsServiceClient formsClient = new FormsServiceClient(myFactory);
//Specify URI values that are required to render a form
URLSpec uriValues = new URLSpec();
// Template location contains the whole rpository path for the form
uriValues.setContentRootURI(templateLocation);
// The base URL where form resources such as images and scripts are located. Whole Image path is passed in BaseUrl in the http format.
String baseLocation = repositoryPath.concat(serviceName).concat(imagesPath);
uriValues.setBaseURL(baseLocation);
// Set run-time options using a PDFFormRenderSpec instance
PDFFormRenderSpec pdfFormRenderSpec = new PDFFormRenderSpec();
pdfFormRenderSpec.setCacheEnabled(new Boolean(true));
pdfFormRenderSpec.setAcrobatVersion(com.adobe.livecycle.formsservice.client.AcrobatVersio n.Acrobat_8);
//Invoke the renderPDFForm method and write the
//results to a client web browser
String tempTemplateName =templateName;
FormsResult formOut = formsClient.renderPDFForm(tempTemplateName,
inXMDataTransformed,pdfFormRenderSpec,uriValues,null);
//Create a Document object that stores form data
Document outputDocument = formOut.getOutputContent();
InputStream inputStream = outputDocument.getInputStream(); -
How to upload Image to MDM 5.5 SP3 using Java APIs
Hi,
I am trying to upload Image to Images table in MDM 5.5 using JAVA API for MDM. But. I'm not able to find particular field in Images table where I need to set the Blob object ( Image data ).
I'm not aware of the method to set the Blob, there is one for getting the Image data.
I have gone through I am not able to add images into Catalog thru java API forums posts and tried the code. But with no luck....
I think this code is for some other MDM version as the fields mentioned are not present in the Images table e.g. DataObject - this field is used in the above posts to set the Blob data but this field does not exist in Images table in MDM 5.5
Can anyone suggest the solution?
Thanks and Regards,
MausamHi Mausam,
Please try the following:
// adding to a image table
// get the bytes for the image
byte[] imageBuf = readFile("C:\pic.bmp");
// setup A2iFields
fields = new A2iFields();
fields.Add(new A2iField("DataObject", new
Value(imageBuf))); // the image binary (required)
fields.Add(new A2iField("Name", new Value("pic.bmp")));
// a name for the image
fields.Add(new A2iField("OrigName", new
Value("pic.bmp"))); // the original image file name
(required)
fields.Add(new A2iField("DataGroupId", new Value(888)));
// the data group to add to (required)
fields.Add(new A2iField("OrigLocationId", new
Value(999))); // the data location of the image
(required)
fields.Add(new A2iField("Description", new Value("a
short description"))); // a short description here
// add the image
String imageTable = "Images";
catalog.AddRecord(imageTable, fields, -1, -1);
It's taken out of the API guide for SP3 (the example for method AddRecord.
Best regards,
Amit -
How to initialize a replica by using Java API?
Hi, I used to initialize a replica by adding the attribute nsDS5BeginReplicaRefresh=start to the replica agreement and it works fine by using the ldapmodify commandline utility. Now I am trying to use the Java API to do the same, but I always get the Object class violation error. And I noticed that when I use the Java API to create the replica, it has the different attributes than the one created by the commandline utility. The former has the serializedJavaData and javaClass, ... And I can't find any documentation on this issue. It's really frustrating! I am wondering if the replica agreement has different attribute for initializing? If so, why it's never documented?
I badly need your help!!!
LouisHi Govada,
(1)You need to add the MDM4j and other JAR files at:-
right click on project -> Java Build Path -> Libraries -> Add External JARs
(2)If the project is Web Dynpro project one
then right click on project -> Web Dynpro Reference -> Library Reference -> and add sap.com/com.sap.mdm.tech.mdm4j
Are you using JAVA API 1 or 2???
Thanking you
Namrata Dixit -
Print different format files using java API
Hi All,
I need to print documents ( MS-DOC, PDF, Plain Text ) using Java API. I do not need window for configuring number of pages to be print etc etc.. Whatever the file specified should be printed.
I checked with printerJob.print(); from java API and able to print simple text. I need to approach same for files of different formats.
Any other API's ? How do i approach?
Any help will be appreciated.
Thanks,
PraveenWhich of the LiveCycle products are you looking at? (there is no Java API to Acrobat)
-
How to use java api for function activity in embed oracle workflow?
because i can't install standalone oracle workflow successfully.
pls tell me how to use java api for function activity in embed oracle workflow?
are there some patch or pulg-in package?
ths a lot...........The Java Function Activity Agent is not certified for Oracle Workflow embedded in Oracle Applications. Installing standalone workflow should be a lot easier than what you have found, although it looks like you did hit a Pentium 4 issue with the Oracle Universal Installer. I suggest you contact Oracle Support or Oracle Consulting for assistance.
because i can't install standalone oracle workflow successfully.
pls tell me how to use java api for function activity in embed oracle workflow?
are there some patch or pulg-in package?
ths a lot...........
Maybe you are looking for
-
I cannot find videos (not movies) that i have transferred to my macbook pro from an external hard drive, these files used to be on my windows PC. Photos and a few of the videos came over but i am missing the majority of the videos. Help please!!! I h
-
How do I remove an iPad from my account?
I used to have an iPad 2, and then I gave it to my friend, because I purchased the new iPad mini, but don't need it anymore. He is trying to sync it with his own account, but it is not letting him. What can I do to make it work for him and remove it
-
Deleted the seeded vo using jdr utils
hi all, I was getting recursive substitution error when i substituted a vo.. by mistake i deleted the original vo.. i do not know how to revert... kindly help in this issue... thanks..
-
Best for IE AND Firefox - jpeg, gif, or png?
I want to do something that SEEMS fairly simple - making a page with rounded corners. I made small graphics in Illustrator to give this effect. I tried saving them as gifs, pngs, and jpegs - pretty much all of them look find in Firefox, but in IE, th
-
Deploy JSP, XSQL-XSL Application on OC4J or Apache?
I have an application having JSPs and XSQL-XSL pages (not EJBs) for the internet. Which is the best deployment type? - Running both on OC4J (after installing XSQL), - Running both on Apache, - Running one on Apache and other on OC4J? What about using