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,
    Jyothi

    I 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,
    thanks

    You 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
    chan

    Hi,
    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
    Nag

    Nag,
    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,
    Saba

    I 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 Advance

    If 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!
    Kenny

    Hi 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
    Rajeev

    Rajeev,
    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,
    Mausam

    Hi 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!!!
    Louis

    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

  • 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,
    Praveen

    Which 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