Loadjava + BI Publisher API's

Hi my name is Ike Wiggins. I'm exploring loading the BI Publisher API's as jar file. The end result is that my TestConfiguration class is still invalid.......It's driving me nuckin futs :-). If anyone has any idea's or suggestions or would like me to repeat step let me know. This is my last shot before I give up! I know there has to something I missing. Also, can anyone tell me what table or sys view has a record of the resource objects?
FYI: I verified the file will compile and run with javac.
First Try:+
bash-3.2$ dropjava -u scott/tiger bipublisher/jp/TestConfiguration
bash-3.2$ loadjava -force -resolve -user scott/tiger -verbose bipublisher/jp/TestConfiguration.java
arguments: '-user' 'scott/***' '-force' *'-resolve'* '-verbose' 'bipublisher/jp/TestConfiguration.java'
creating : source bipublisher/jp/TestConfiguration
loading : source bipublisher/jp/TestConfiguration
resolving: source bipublisher/jp/TestConfiguration
errors : source bipublisher/jp/TestConfiguration
ORA-29535: source requires recompilation
bipublisher/jp/TestConfiguration:11: cannot resolve symbol
symbol : class DataProcessor
location: package dataengine
import oracle.apps.xdo.dataengine.DataProcessor;
^
bipublisher/jp/TestConfiguration:91: cannot resolve symbol
symbol : class DataProcessor
location: class bipublisher.jp.TestConfiguration
DataProcessor dataProcessor = new DataProcessor();
^
bipublisher/jp/TestConfiguration:91: cannot resolve symbol
symbol : class DataProcessor
location: class bipublisher.jp.TestConfiguration
DataProcessor dataProcessor = new DataProcessor();
^
3 errors
The following operations failed
source bipublisher/jp/TestConfiguration: resolution
exiting : Failures occurred during processing
Second try:*
bash-3.2$ loadjava -force -user scott/tiger -verbose -jarasresource j5472959_xdo.zip
arguments: '-user' 'scott/***' '-force' '-verbose' '-jarasresource' 'j5472959_xdo.zip'
creating : resource j5472959_xdo.zip
loading : resource j5472959_xdo.zip
Classes Loaded: 0
Resources Loaded: 1
Sources Loaded: 0
Published Interfaces: 0
Classes generated: 0
Classes skipped: 0
Synonyms Created: 0
Errors: 0
bash-3.2$ loadjava -force -user scott/tiger -verbose bipublisher/jp/TestConfiguration.java
arguments: '-user' 'scott/***' '-force' '-verbose' 'bipublisher/jp/TestConfiguration.java'
creating : source bipublisher/jp/TestConfiguration
loading : source bipublisher/jp/TestConfiguration
Classes Loaded: 0
Resources Loaded: 0
Sources Loaded: 1
Published Interfaces: 0
Classes generated: 0
Classes skipped: 0
Synonyms Created: 0
Errors: 0
End result class is still invalid
Third try:*
bash-3.2$ dropjava -u scott/tiger bipublisher/jp/TestConfiguration.java
bash-3.2$ dropjava -u scott/tiger -jarasresource j5472959_xdo.zip
bash-3.2$ loadjava -force -stdout -user scott/tiger -verbose bipublisher/jp/TestConfiguration.java -jarasresource j5472959_xdo.zip
arguments: '-user' 'scott/***' '-force' '-stdout' '-verbose' 'bipublisher/jp/TestConfiguration.java' '-jarasresource' 'j5472959_xdo.zip'
creating : source bipublisher/jp/TestConfiguration
loading : source bipublisher/jp/TestConfiguration
creating : resource j5472959_xdo.zip
loading : resource j5472959_xdo.zip
Classes Loaded: 0
Resources Loaded: 1
Sources Loaded: 1
Published Interfaces: 0
Classes generated: 0
Classes skipped: 0
Synonyms Created: 0
Errors: 0
End result class is still invalid
Thanks,
Ike Wiggins
http://bipublisher.blogspot.com
TestConfiguration Class
package bipublisher.jp;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.Connection;
import java.sql.ResultSet;
//Oracle extensions to JDBC imports
//import oracle.apps.xdo.common.log.Logger;
import oracle.apps.xdo.dataengine.DataProcessor;
//import oracle.apps.xdo.dataengine.DEUtil;
import oracle.jdbc.driver.OracleDriver;
public class TestConfiguration {
   public TestConfiguration() {
   public static void main(String[] args) {
      //TestConfiguration testConfiguration = new TestConfiguration();
      TestConfiguration.getEmployeeXML();
   public static String getEmployeeXML() {
      Connection connection = null; // Database Connection Object
      StringBuffer dataTemplateXml = new StringBuffer();
      try {
         // Get a Default Database Connection using Server Side JDBC Driver.
         // Note : This class will be loaded on the Database Server and hence use a
         // Server Side JDBC Driver to get default Connection to Database.
         connection = new OracleDriver().defaultConnection();
         dataTemplateXml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?> \r\n");
         dataTemplateXml.append("<dataTemplate name=\"CORPORATION\" defaultPackage=\"\" description=\"Demo Data Template\" version=\"1.0\">\r\n");
         dataTemplateXml.append("<properties>\r\n");
         dataTemplateXml.append("    <property name=\"include_parameters\" value=\"true\"/>\r\n");
         dataTemplateXml.append("    <property name=\"include_null_Element\" value=\"false\"/>\r\n");
         dataTemplateXml.append("    <property name=\"include_rowsettag\" value=\"false\"/>\r\n");
         dataTemplateXml.append("    <property name=\"scalable_mode\" value=\"on\"/>\r\n");
         dataTemplateXml.append("    <property name=\"debug_mode\" value=\"off\"/>\r\n");
         dataTemplateXml.append("</properties>\r\n");
         dataTemplateXml.append("<parameters>\r\n");
         dataTemplateXml.append("  <parameter name=\"NAME\" defaultValue=\"Vision\" dataType = \"varchar2\"/>\r\n");
         dataTemplateXml.append("</parameters>\r\n");
         dataTemplateXml.append("<lexicals>\r\n");
         dataTemplateXml.append("</lexicals>\r\n");
         dataTemplateXml.append("  <dataQuery>\r\n");
         dataTemplateXml.append("    <sqlStatement name=\"Q_DEPT\">\r\n");
         dataTemplateXml.append("      <![CDATA[SELECT   DNAME, DEPTNO\r\n");
         dataTemplateXml.append("    FROM dept\r\n");
         dataTemplateXml.append("   ORDER BY dname]]>\r\n");
         dataTemplateXml.append("    </sqlStatement>\r\n");
         dataTemplateXml.append("    <sqlStatement name=\"Q_EMPLOYEE\">\r\n");
         dataTemplateXml.append("      <![CDATA[SELECT   DEPTNO AS DEPARTTNO,EMPNO, ENAME, JOB, SAL\r\n");
         dataTemplateXml.append("    FROM emp\r\n");
         dataTemplateXml.append("    WHERE deptno = :deptno\r\n");
         dataTemplateXml.append("   ORDER BY  ename]]>\r\n");
         dataTemplateXml.append("    </sqlStatement>\r\n");
         dataTemplateXml.append("  </dataQuery>\r\n");
         dataTemplateXml.append("  <dataStructure>\r\n");
         dataTemplateXml.append("    <group name=\"DEPT\" source=\"Q_DEPT\">\r\n");
         dataTemplateXml.append("      <element name=\"DEPT_NAME\" value=\"DNAME\"/>\r\n");
         dataTemplateXml.append("      <element name=\"DEPT_NUMBER\" value=\"DEPTNO\"/>\r\n");
         dataTemplateXml.append("      <group name=\"EMPLOYEE\" source=\"Q_EMPLOYEE\">\r\n");
         dataTemplateXml.append("        <element name=\"EMP_DEPT_NUMBER\" value=\"DEPT.DEPT_NUMBER\"/>\r\n");
         dataTemplateXml.append("       <element name=\"EMPNO\" value=\"EMPNO\"/>\r\n");
         dataTemplateXml.append("        <element name=\"ENAME\" value=\"ENAME\"/>\r\n");
         dataTemplateXml.append("        <element name=\"JOB\" value=\"JOB\"/>\r\n");
         dataTemplateXml.append("        <element name=\"SAL\" value=\"SAL\"/>\r\n");
         dataTemplateXml.append("      </group>\r\n");
         dataTemplateXml.append("    </group>\r\n");
         dataTemplateXml.append("  </dataStructure>\r\n");
         dataTemplateXml.append("</dataTemplate>\r\n");
         System.out.print(dataTemplateXml.toString());
         DataProcessor dataProcessor = new DataProcessor();
         dataProcessor.setDataTemplate(dataTemplateXml.toString());
         //dataProcessor.setParameters(getParameters());
         dataProcessor.setConnection(connection);
         dataProcessor.setOutput("/Users/ike/tmp/" + "1234"  + ".xml");
         dataProcessor.includeParameters(true);
         dataProcessor.processData();
         return "yay!";
         // Close Statement, Result Set and Connection
      } catch (Exception ex) { // Trap SQL Errors
         System.err.println("Error in Executing getEmployeeXML" + '\n' + ex.toString());
         return "nay!";
      } finally {
         try {
            //connection.close();
         } catch (Exception e) {
            e.printStackTrace();
}Edited by: Ike Wiggins on Jun 28, 2009 8:00 PM

The Oracle JVM requires that all classes that are needed be loaded into the database unless a specific resolver spec is used. If the resolver spec (* -) is specified, then unresolved classes are silently ignored but will cause runtime or compile time errors if referenced.
If the required classes are not present then the class will remain invalid until all the classes it references are loaded, etc.
If you want the classes in a specific jar to be seen then do not use -jarasresource. This just makes the jar a resource and it will not be used for any resolution for other classes.
You will need to load all the classes that are referenced by your test code as well as any classes that they may reference. There is a tool, ojvmtc which can define the list of classes. When they are loaded, either in a jar or separately then your class should compile or load and be valid.
We do not load xdo classes as default. Try using your second try first without the -jarasresource and then your first try second. Issues may still arise with the xdo jar if it requires other apps classes to be loaded.

Similar Messages

  • How to trigger xml publisher API (ex:Delivering Documents via e-Mail)?

    Dear All:
    How to use xml publisher API ?
    In user's guide always talk API's code.(ex:Delivering Documents via e-Mail
    // create delivery manager instance
    DeliveryManager dm = new DeliveryManager();
    // create a delivery request
    DeliveryRequest req =
    dm.createRequest(DeliveryManager.TYPE_SMTP_EMAIL);
    // set email subject
    req.addProperty(DeliveryPropertyDefinitions.SMTP_SUBJECT, "Invoice");
    // set SMTP server host
    req.addProperty(
    DeliveryPropertyDefinitions.SMTP_HOST, "mysmtphost");
    // set the sender email address
    req.addProperty(DeliveryPropertyDefinitions.SMTP_FROM,
    "[email protected]");
    // set the destination email address
    req.addProperty(
    DeliveryPropertyDefinitions.SMTP_TO_RECIPIENTS,
    "[email protected], [email protected]" );
    // set the content type of the email body
    req.addProperty(DeliveryPropertyDefinitions.SMTP_CONTENT_TYPE,
    "text/html");
    // set the document file name appeared in the email
    req.addProperty(DeliveryPropertyDefinitions.SMTP_CONTENT_FILENAME,
    "body.html");
    // set the document to deliver
    req.setDocument("/document/invoice.html");
    // submit the request
    req.submit();
    // close the request
    req.close(); )
    Not say how to use this code to account effect !!
    Having anybody to use API before?
    Please tell me how to use that,thanks!!
    BY Emily_ye

    Hi Emily
    I had the same question. After much research and a lot of deduction I produced the following:
    import oracle.apps.fnd.cp.request.*;
    import java.io.*;
    import java.sql.*;
    import java.util.Vector;
    import oracle.apps.fnd.util.*;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.common.pdf.util.PDFDocMerger;
    import oracle.apps.xdo.delivery.DeliveryException;
    import oracle.apps.xdo.delivery.DeliveryManager;
    import oracle.apps.xdo.delivery.DeliveryPropertyDefinitions;
    import oracle.apps.xdo.delivery.DeliveryRequest;
    import oracle.jdbc.driver.OracleCallableStatement;
    public class RunTravProgram implements JavaConcurrentProgram {
    CpContext mCtx; // global reference to concurrent program context
    LogFile logFile; // global reference to context logfile
    OutFile outFile; // global reference to context outfile
    Connection mConn = null;
    ReqCompletion lRC;
    //File Separator
    private String mFileSeparator;
    // globals for template
    String XDOAppShortName = "";
    String XDOtemplateCode = "";
    // hard-wired constants for template addition
    final String XDOLanguage = "en";
    final String XDOTerritory = "US";
    final String XDOFinal_format = "PDF";
    final String XDOtemplateType = "TEMPLATE_SOURCE";
    String PDFFile = "";
    String outFilePath = "";
    String progShortName = "";
    String progDesc = "";
    Integer iRequestID = 0;
    String sWatermark = ""; // watermark text
    String emailAddress = ""; // Not Implemented
    String emailServer = "";
    public static final String M_SUCCESS = "SUCCESS";
    public static final String M_ERROR = "ERROR";
    public static final String M_WARNING = "WARNING";
    * Create a Java FND ConcurrentRequest objec to call fnd_request.submit_request
    * The first three parameters are:
    * Application Short Name -- Application Short name (ie. WAHC)
    * Current Program Short Name -- Concurrent Program being called
    * Current Program Description -- description for above
    * These should be the first three parameters passed by the concurrent
    * program in this order. The next two are constants set to null
    * These are followed by the parameters passed by the first concurrent
    * program that are being passed to the next concurrent program.
    * I am limiting the parameter list to ten for now.
    // Dynamic PLSQL statement used to get a concurrent request completion status
    // This is necessary because the java class does not provide this method :-(
    String mGetCompleteStatus =
    "DECLARE R_VAL BOOLEAN; " + "b_phase VARCHAR2 (80) := NULL; " +
    "b_status VARCHAR2 (80) := NULL; " +
    "b_dev_phase VARCHAR2 (80) := NULL; " +
    "b_dev_status VARCHAR2 (80) := NULL; " +
    "b_message VARCHAR2 (240) := NULL; " + "BEGIN " +
    "r_val := fnd_concurrent.wait_for_request (:1,5,1000," +
    "b_phase,b_status,b_dev_phase,b_dev_status,b_message); " +
    ":2 := b_phase; " + ":3 := b_status; " + ":4 := b_message; " + "end;";
    public RunTravProgram() {
    // no constructor necessary for now
    * Concurrent Processing provides an interface 'JavaConcurrentProgram' with abstract method
    * runProgram() which passes the concurrent processing context 'CpContext'. The concurrent
    * program developer will implement all of their business logic for a concurrent program in
    * runProgram(). The main() method, implemented by AOL, will call runProgram() after
    * performing all of the required initialization for the concurrent program, including
    * establishing a database connection, initializing the required contexts, and setting up
    * the log and output files. CpContext will have the request specific log and output
    * file input methods
    public void runProgram(CpContext pCpContext) {
    mCtx = pCpContext;
    OracleCallableStatement lStmt = null;
    boolean bCompletion = true;
    String sPhase = "";
    String sStatus = "";
    String sMessage = "";
    //get handle on request completion object for reporting status
    lRC = pCpContext.getReqCompletion();
    // assign logfile
    logFile = pCpContext.getLogFile();
    // assign outfile
    outFile = pCpContext.getOutFile();
    // assign fileseparator
    mFileSeparator = getFileSeparator();
    // get the JDBC connection object
    mConn = pCpContext.getJDBCConnection();
    outFilePath =
    ((new File(outFile.getFileName())).getParent() == null ? "" :
    (new File(outFile.getFileName())).getParent() +
    mFileSeparator);
    logFile.writeln("OutFile File Path: -> " + outFilePath, 0);
    // get parameter list object from CpContext
    // these come from the concurrent program
    ParameterList lPara = pCpContext.getParameterList();
    // create a temporary array and retrieve the parameters created by
    // the program. Currently limiting the number of parameters to 10 for now
    String pvals[] = new String[10];
    int pcount = 0;
    while (lPara.hasMoreElements()) {
    NameValueType aNVT = lPara.nextParameter();
    pvals[pcount] = aNVT.getValue();
    pcount++;
    if (pcount > 9)
    break;
    // send parameter values to the log file
    logFile.writeln("Arg 1: APPL_SHORT_NAME -> " + pvals[0], 0);
    logFile.writeln("Arg 2: CURR_PROG_SHORT_NAME -> " + pvals[1], 0);
    logFile.writeln("Arg 3: CURR_PROG_DESCRIPTION -> " + pvals[2], 0);
    logFile.writeln("Arg 4: TEMPLATE_CODE -> " + pvals[3], 0);
    logFile.writeln("Arg 5: P_PLANT_CODE -> " + pvals[4], 0);
    logFile.writeln("Arg 6: P_BATCH_NO -> " + pvals[5], 0);
    logFile.writeln("Arg 7: P_SHOW_PROMISE -> " + pvals[6], 0);
    logFile.writeln("Arg 8: P_WATERMARK -> " + pvals[7], 0);
    XDOtemplateCode = pvals[3]; // store the template name globally
    progShortName = pvals[1]; // store the program short name globally
    XDOAppShortName = pvals[0]; // store the application short name
    sWatermark = pvals[7]; // store the watermark globally
    progDesc = pvals[2];
    try {
    // create a concurrent request object
    ConcurrentRequest cr = new ConcurrentRequest(mConn);
    // use the parameters to call fnd_request.submit_request
    cr.addLayout(XDOAppShortName, XDOtemplateCode, XDOLanguage,
    XDOTerritory, XDOFinal_format);
    Vector param = new Vector();
    param.add(pvals[4]); // plant code
    param.add(pvals[5]); // batch ID
    param.add(pvals[6]); // Show SO info flag
    iRequestID =
    cr.submitRequest(XDOAppShortName, progShortName, progDesc,
    null, false, param);
    mConn.commit();
    // send the request ID to the log file
    logFile.writeln("-- Request ID: ->" + Integer.toString(iRequestID),
    0);
    // call fnd_concurrent.wait_for_request to wait until the request
    // has ended - use this to check the request status before proceeding
    lStmt =
    (OracleCallableStatement)mConn.prepareCall(mGetCompleteStatus);
    lStmt.setInt(1, iRequestID);
    lStmt.registerOutParameter(2, java.sql.Types.VARCHAR, 0, 255);
    lStmt.registerOutParameter(3, java.sql.Types.VARCHAR, 0, 255);
    lStmt.registerOutParameter(4, java.sql.Types.VARCHAR, 0, 255);
    lStmt.execute();
    // get the results of the completion
    sPhase = lStmt.getString(2);
    sStatus = lStmt.getString(3);
    sMessage = lStmt.getString(4);
    lStmt.close();
    // send the results of the request processing to the log file
    logFile.writeln("-- Phase: -> " + sPhase, 0);
    logFile.writeln("-- Status: -> " + sStatus, 0);
    logFile.writeln("-- Message: -> " + sMessage, 0);
    // test here to make sure it completed correctly
    if (sPhase.equals("Completed") && sStatus.equals("Normal")) {
    // construct the PDF file name generated by the called request
    PDFFile = progShortName + "_" + iRequestID + "_1.pdf";
    // add a watermark to the generated PDF
    // create an output stream for the existing PDF
    // and set ouput to append
    OutputStream pdfout =
    new FileOutputStream(outFilePath + PDFFile, true);
    // create an inputstream array (required by calling method)
    InputStream pdfin[] = new InputStream[1];
    pdfin[0] = new FileInputStream(outFilePath + PDFFile);
    // add the watermark passed as a parameter
    bCompletion = addWatermark(pdfin, pdfout);
    // assign the modified file to the context out
    // this will print using this request
    if (bCompletion)
    outFile.setOutFile(outFilePath + PDFFile);
    // release the connection object
    // and set the completion status for the request
    if (bCompletion) {
    pCpContext.getReqCompletion().setCompletion(ReqCompletion.NORMAL,
    } else {
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    pCpContext.releaseJDBCConnection();
    } catch (SQLException s) {
    logFile.writeln("SQL Error: Exception thrown w/ error message: " +
    s.getMessage(), 0);
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    pCpContext.releaseJDBCConnection();
    } catch (IOException ioe) {
    logFile.writeln("IO Error: Exception thrown w/ error message: " +
    ioe.getMessage(), 0);
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    pCpContext.releaseJDBCConnection();
    } catch (Exception e) {
    logFile.writeln("General Exception: " + e.getMessage(), 0);
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    pCpContext.releaseJDBCConnection();
    } finally {
    try {
    if (lStmt != null)
    lStmt.close();
    pCpContext.releaseJDBCConnection();
    } catch (SQLException e) {
    logFile.writeln(e.getMessage(), 0);
    lRC.setCompletion(ReqCompletion.WARNING, M_WARNING);
    * addWatermark()
    * @param pdfin
    * @param pdfout
    * @return boolean
    * This method will work for an existing document or a newly generated
    * one. Set the outputstream append flag to false for a new document
    * and true for an existing one.
    * NOTE: PDFDocMerger requires an inputstream array even if it only
    * contains one document.
    private boolean addWatermark(InputStream[] pdfin, OutputStream pdfout) {
    if (!sWatermark.equals("")) {
    try {
    PDFDocMerger docMerger = new PDFDocMerger(pdfin, pdfout);
    //docMerger.setTextDefaultWatermark(sWatermark);
    docMerger.setTextWatermark(sWatermark, 80f, 50f);
    docMerger.setTextWatermarkAngle(25);
    docMerger.setTextWatermarkColor(1.0f, .50f, .50f);
    docMerger.setTextWatermarkFont("Garamond", 100);
    docMerger.process();
    docMerger = null;
    return true;
    } catch (XDOException e) {
    logFile.writeln("Watermark process Failed: " + e.getMessage(),
    0);
    return false;
    return true;
    * Returns the file separator
    private String getFileSeparator() {
    return (System.getProperty("file.separator"));
    * EBSEmailDelivery
    * @return
    * Just for testing right now.
    private boolean EBSEmailDelivery() {
    if (!emailAddress.equals("")) {
    try {
    // create delivery manager instance
    DeliveryManager delMgr = new DeliveryManager();
    // create a delivery request
    DeliveryRequest delReq =
    delMgr.createRequest(DeliveryManager.TYPE_SMTP_EMAIL);
    // set email subject
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_SUBJECT,
    "EBS Report:" + progDesc +
    " for request: " + iRequestID);
    // set SMTP server host
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_HOST,
    emailServer); // need to supply the email smtp server
    // set the sender email address
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_FROM,
    emailAddress);
    // set the destination email address
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_TO_RECIPIENTS,
    emailAddress);
    // set the content type of the email body
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_CONTENT_TYPE,
    "application/pdf");
    // set the document file name appeared in the email
    delReq.addProperty(DeliveryPropertyDefinitions.SMTP_CONTENT_FILENAME,
    PDFFile);
    // set the document to deliver
    delReq.setDocument(outFilePath + PDFFile);
    // submit the request
    delReq.submit();
    // close the request
    delReq.close();
    return true;
    } catch (DeliveryException de) {
    logFile.writeln("email process Failed: " + de.getMessage(), 0);
    return false;
    return true;
    This is the class for a JCP I created to perform the following:
    1) Launch an existing Concurrent Program that produces PDF output
    2) Grab the PDF and apply a watermark based on user input or conditions
    3) associate the modified PDF to CP output for PASTA printing
    It isn't elegant but it is fairly simple. I added the email capability and tested it but am not implementing it at the present time.
    there is a fair amount of information out there that explains how to create a JCP councurrent program but very little that demonstrates the class needed.
    I hope this helps

  • Where are the Inquiry and Publishing API

    In the "Oracle App. Server Web Services: Developer's Guide: 10g(9.0.4)" document on tahiti, the author mentions several UDDI API (Inquiry API, Publishing API,..) and several examples in something named "uddidemo.zip". I CAN NOT FIND ANY OF THESE DEMO OR APIs, in http://otn.oracle.com/tech/java/oc4j/demos (according to the book). This doc was put out in September 2003.
    Does anyone know where Oracle keeps these UDDI demo/API? Or is this doc out of date, already.

    Its on the keyboard somewhere on top center close to the number keys. To be straight, its just below F12 key. 
    //Click on Kudos and Accept as Solution if my reply was helpful and answered your question//
    I am an HP employee!!

  • Oracle BPM Suite 11g published API.

    Hi Guys,
    Can any one provide the links or docs for Published API for Oracle BPM suite 11g,Like REST etc.
    It has any Remote Interfaces
    Thanks,
    Venkat

    Here a few links regarding the APIs:
    API JavaDoc reference -
    http://docs.oracle.com/cd/E28389_01/apirefs.1111/e25378/oracle/bpm/services/instancequery/IInstanceQueryService.html
    Simple list example -
    http://soadev.blogspot.in/2011/07/querying-oracle-bpm-process-instances.html
    Aborting instances -
    http://download.oracle.com/docs/cd/E17904_01/apirefs.1111/e10659/oracle/soa/management/facade/package-tree.html
    Creating instances -
    http://niallcblogs.blogspot.com/2011/12/invoking-bpm-processes-via-java.html
    Building a custom worklist ap -
    http://redstack.wordpress.com/worklist/
    http://redstack.wordpress.com/2011/03/09/creating-the-domain-layer-for-the-worklist/
    http://redstack.wordpress.com/2011/03/09/implementing-task-initiation/
    Purging Instances -
    http://niallcblogs.blogspot.com/2011/12/soabpm-apis-manipulating-composites-and.html
    Instance Query -
    http://java.net/projects/oraclebpmsuite11g/downloads/directory/Samples/bpm-api-101-instance-query
    Human Workflow Services / Human Task API -
    http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_workflow.htm
    http://docs.oracle.com/cd/E23943_01/apirefs.1111/e10660/toc.htm
    Hope this helps,
    Dan

  • XML publisher API registration

    Hai,
    Can anyone tell me the procedures to be followed for calling a XML publisher APIs in EBS to get certain output format?
    Thanks in Advance.

    The document
    XML Publisher 5.6.2 Core Components APIs
    can be found here:
    http://www.oracle.com/technology/products/xml-publisher/xmlpdocs.html

  • UDDI - inquiry/publish API

    Hi all,
    i want to use the UDDI server from XI. With the UDDI client from XI i can publish my web services.
    But now i want to configure the UDDI Client in transaction suddireg in order to get access to UDDI from ERP (transaction wsadmin). But i have a problem with both rfc destinations.
    In the documentation the standard URLs are like the following:
    http://<host>:<port>/uddi/api/inquiry
    http://<host>:<port>/uddi/api/publish
    I have created a rfc destination with type G.
    host = XI host
    port = XI port
    path prefix: /uddi/api/inquiry
    But the rfc destionation is not working.
    Whats wrong?
    Please don't refer to whole documentations!!!
    Only helpful answers are rewarded.
    regards

    HI
    Could you pls tell me what is the parameters you are using for the rfc destination..
    Host Name Findings .. Go to System--->Status find the Host Name
    Path prefix use                     : /rep
    I think it will work,if not do let me know,
    Regards
    Manas.

  • Calling BI Publisher API's from pl/sql

    Hi,
    We are currently in Oracle Applications : 12.0.4, RDBMS : 10.2.0.3.0 and have a requirement to generate a pdf report using BI Publisher from pl/sql.
    We do not want to go to Concurrent Manager because this report will be generated every minute and should be real time.
    So my questions are:
    1) Can I load the bi publisher jar files into the database and try generating the report using the api's. Is this approach correct?
    2) Can someone help me with the jar files that i need to load. I don't have Java experience and hence need to know this.
    3) With this approach can I directly print to the users printer. The user doesn't want to see the report output on the screen.
    Please let me know how should i go about with this.
    Thanks.

    Hi Ike,
    Tim has suggested to use Web services and I have few questions about it. see below.
    We are currently in Oracle Applications : 12.0.4. We are using BI Publisher that comes with Oracle Applications. I had few questions :
    Do we need to install BI Product separately to use the Web Service Feature ?
    Do we need to install some components for BI to use the Web Service Feature ?
    How do we integrate BI Web services with Oracle Applications?
    I went through the guide and found an example to call a report . I tried the url for bipEndpoint variable and it doesn't return anything.
    My report is defined in Oracle applications as a Concurrent Program. What do we need to pass in xdofile variable.
    Please let me know how to proceed with this.
    Thanks.
    --- Sample Code from guide Oracle® Business Intelligence New Features Guide Release 10.1.3.4.1
    public static void runReport() throws Exception {
    final String bipEndpoint =
    "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl";
    final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService";
    final String xdofile ="/HR Manager/Employee Salary Report/Employee Salary Report.xdo";;;
    // set up the call object
    service = new Service();
    call = (Call) service.createCall();
    call.setTargetEndpointAddress(new URL(bipEndpoint));
    // TEST Run Report
    System.out.println("TESTING runReport Service BEGIN");
    // register the ReportRequest class
    QName reportReq = new QName(bipNamespace, "ReportRequest");
    call.registerTypeMapping(ReportRequest.class, reportReq,
    BeanSerializerFactory.class, BeanDeserializerFactory.class);
    // register the ParamNameValue class
    QName nmvals = new QName(bipNamespace, "ParamNameValue");
    call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class);
    // register the BIPReportResponse class
    QName reportRespqn = new QName(bipNamespace, "ReportResponse");
    call.registerTypeMapping(ReportResponse.class, reportRespqn,
    BeanSerializerFactory.class, BeanDeserializerFactory.class);
    // Default return type based on what we expect
    call.setOperationName( new QName(bipNamespace, "runReport" ));
    call.addParameter( "ReportRequest", reportReq, ParameterMode.IN );
    call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN);
    call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN);
    call.setReturnClass(ReportResponse.class);
    ParamNameValue[] paramNmVals = new ParamNameValue[2];
    paramNmVals[0] = new ParamNameValue(false, "dept", null) ;
    paramNmVals {"*"}) ;
    ReportRequest req = new ReportRequest("pdf", "en-US", "Simple", paramNmVals, xdofile);
    // issue the reques
    ReportResponse reportResp = (ReportResponse) call.invoke(
    new Object[] {req, "Administrator", "Administrator"} );
    System.out.println("Return ReportResponse: ContentType = " + reportResp.getReportContentType());
    // Save the report
    byte[] binaryBytes = reportResp.getReportBytes();
    OutputStream out = new FileOutputStream("D:\\temp
    out.pdf";;);
    out.write(binaryBytes);
    out.close();
    System.out.println("Success for Run Report");
    Thanks.

  • XML Publisher API Document

    Hi,
    I am looking for complete XML Publisher Java API Docs. Any pointers would be helpful.
    Thanks in Advance
    ~Neeraj

    The document
    XML Publisher 5.6.2 Core Components APIs
    can be found here:
    http://www.oracle.com/technology/products/xml-publisher/xmlpdocs.html

  • Books publishing API

    Hello
    Did anybody know if exist API which allow to publish e-books on iTunes?
    I can't find any.
    Best Regards
    m2malin

    APIs are for developing applications/programs.
    If you want to sell books in the iBookstore : http://www.apple.com/itunes/working-itunes/sell-content/books/
    Selling ibooks FAQ : http://www.apple.com/itunes/working-itunes/sell-content/books/book-faq.html

  • Where to find - javadocs for XML Publisher' API

    The XML Publisher User's Guide section, called Implementation and Developer's Guide->Application Layer APIs, has examples of API's for inserting Templates and Data Definitions.
    Unfortunately, XML publisher manual only provides a bunch of
    samples and not the detailed javadocs, that wee need.
    Where could we find javadoc for XML Publisher?

    Hi
    You did not specify which version you were on but the java docs are linked from the relevant About Doc for each release:
    Release 5.5 Note 316447.1
    Release 5.0 Note 295036.1
    Release 4.5 Note 269605.1
    Just search for 'javadoc' in these docs for the link
    Regards, Tim

  • XML Publisher APIs problem.

    Hi friends!
    I need to convert RTF files into XSL. So I'm running the following simple code:
    RTFProcessor rtfProcessor1 = new RTFProcessor("c:\\example.rtf");
    rtfProcessor1.setOutput("c:\\example.xsl");
    rtfProcessor1.process();
    but i'm getting the following error:
    java.lang.NullPointerException
         at java.util.Hashtable.get(Hashtable.java:333)
         at oracle.apps.xdo.template.rtf.group.RTFStyleSheetGroup.endgroup(RTFStyleSheetGroup.java:553)
         at oracle.apps.xdo.template.rtf.RTF2XSLParser.endgroup(RTF2XSLParser.java:1008)
         at oracle.apps.xdo.template.rtf.io.RTFFilter.write(RTFFilter.java:206)
         at oracle.apps.xdo.template.rtf.io.Filter.write(Filter.java:124)
         at oracle.apps.xdo.template.rtf.RTF2XSLParser.write(RTF2XSLParser.java:166)
         at oracle.apps.xdo.template.rtf.io.Filter.readFromStream(Filter.java:64)
         at oracle.apps.xdo.template.rtf.RTFParser.generate(RTFParser.java:134)
         at oracle.apps.xdo.template.rtf.RTF2XSLParser.generateXSL(RTF2XSLParser.java:291)
         at oracle.apps.xdo.template.RTFProcessor.process(RTFProcessor.java:247)
         at Main.main(Main.java:28)
    But opening "example.rtf" with MSWord and resaving it I will get no error.
    Why?
    I need to convert a huge amount of RTF files so I need to know the reason of this strange error.
    Thank you!

    Hi,
    The error could be in the path what you are providing (\\)
    I have been using this API quite sometime for now, and have not faced any issue. Please find the code below. Try giving a single \ in the path. It should work fine
    try
    RTFProcessor processor = new RTFProcessor("c:\test.rtf");
    processor.setOutput("c:\test.xsl");
    processor.process();
    catch (Exception e)
    e.printStackTrace();
    Regards,
    Suresh

  • Stateless EJB Webservices vs Endpoint.publish() API for a production system

    Hello,
    I am currently designing an SOA JEE application using JAX-WS Webservices for the synchronous calls and JMS (MDB) for asynchronous access.
    It is packaged in a EAR containing one EJB module (no WAR), so I decided first to publish the Webservices using the javax.xml.ws.Endpoint.publish() method via the Spring org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter. It's working very well and I can inject easily spring beans into my JAX-WS webservice, .. but :
    - I cannot see the published webservices in the Weblogic console
    - I have no idea on how the webservices instances are handled (just one ? )
    - Is it robust enough to be used in production in a critical financial application ?
    On the other hand, I just have to add a @Statless annotation to turn my JAX-WS classes into real EJB-Webservice aware, but it probably adds overhead in the Weblogic server and it's a bit more complicated to inject Spring resources.
    Any advice will help.
    Thanks
    GM

    Hi Kaustubh,
    A topic subscriber only receives messages that are published after it is registered with the topic. Your code for send() creates a publisher that sends the message to the topic before you create a new subscriber in your receive() code. Since that subscriber is created after your publisher has sent its message your subscriber will never receive this message!
    Your code will have the expected behaviour if you use a queue instead of a topic. If you have to use a topic, you could create your subscriber and your publisher in the init() method of your EJB and reuse them in your send() and receive() methods.
    Hope it helps.
    Best regards
    Arnaud Simon
    Arjuna Technologies - http://www.arjuna.com

  • XML Publisher API

    any hint about those libraries?
    THX

    Are you asking about the following;
    http://www.oracle.com/technology/products/xml-publisher/xmlpdocs.html
    Adith

  • XML Publisher

    Hi all,
    I want certain clarifications n XML Publisher reporting tool
    1.I have attached a java code to call the report and have hard coded the location of rtf file and the datatemplate.
    But we dont want to hardcode the location.What are the possible ways to prevent hardcoding.
    2.From XML Publisher Administration responsibility, I created a data definition and a template(RTF Template)
    But we are not registering the report as a concurrent program.So how to use data definition and the templates directly in the java program.
    3.What are the steps to be performed to make the report translatable.
    Java Code:
    package oracle.apps.dpp.report;
    import com.sun.java.util.collections.Hashtable;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.Collection;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.dataengine.DataProcessor;
    import oracle.apps.xdo.template.FOProcessor;
    import oracle.apps.xdo.template.RTFProcessor;
    public class DPPReportAPI {
    public DPPReportAPI() {
    public String getUIReportUI(String p_strReprtLayout, Hashtable p_htParam, String p_strReportType) {
    //based on the layout, write the SQL and bind it with the parameters in the Hashtable
    //to get the value in the hashtable, use htParam.get("param1");
    //pass the formed SQL for execution to the XML Publisher API that returns XMLdata
    //Use the XMLData and the layout to generate the report
    OutputStream rtfXSLOS = new ByteArrayOutputStream();
    InputStream xmlDataIS = null;
    InputStream xmlTransIS = null;
    try {
    RTFProcessor processorRTF2XSL =
    new RTFProcessor(p_strReprtLayout);
    //Convert rtf to FO XSL
    processorRTF2XSL.setOutput(rtfXSLOS);
    processorRTF2XSL.process();
    } catch (Exception e) {
    System.out.println("catch " + e.getMessage());
    System.out.println(" Exception in xxmlp.FormatNotification, Method-formatToXSL");
    e.printStackTrace();
    //Convert XSL to String
    String xslString = ((ByteArrayOutputStream)rtfXSLOS).toString();
    //Get xsl template as input stream
    InputStream xslTemplateIS =
    new ByteArrayInputStream(xslString.getBytes());
    try {
    Class.forName("oracle.jdbc.OracleDriver");
    String url = "jdbc:oracle:thin:@ap601sdb:20063:cz121dv1";
    java.sql.Connection jdbcConnection = DriverManager.getConnection(url,"apps", "apps");
    DataProcessor dataProcessor = new DataProcessor();
    dataProcessor.setDataTemplate("/home/sanagar/Java/testdatatemplate.xml");
    Hashtable parameters = p_htParam;
    //parameters.put("id", "catalog1");
    dataProcessor.setParameters(parameters);
    dataProcessor.setConnection(jdbcConnection);
    dataProcessor.setConnection(jdbcConnection);
    dataProcessor.setOutput("/home/sanagar/Java/testoutput.xml");
    dataProcessor.processData();
    } catch (SQLException e) {
    System.out.println("SQLException " + e.getMessage());
    } catch (ClassNotFoundException e) {
    System.out.println("ClassNotFoundException " + e.getMessage());
    } catch (XDOException e) {
    System.out.println("XDOException" + e.getMessage());
    FOProcessor processorXSL2RPT = new FOProcessor();
    processorXSL2RPT.setData("/home/sanagar/Java/testOutput.xml");
    processorXSL2RPT.setTemplate(xslTemplateIS);
    //Set Output
    OutputStream osReport = new ByteArrayOutputStream();
    processorXSL2RPT.setOutput(osReport);
    //Set Output Format
    if (p_strReportType == null || p_strReportType != null && p_strReportType.equals("FORMAT_PDF"))
    processorXSL2RPT.setOutputFormat(FOProcessor.FORMAT_PDF);
    else if (p_strReportType.equals("FORMAT_RTF"))
    processorXSL2RPT.setOutputFormat(FOProcessor.FORMAT_RTF);
    else if (p_strReportType.equals("FORMAT_HTML"))
    processorXSL2RPT.setOutputFormat(FOProcessor.FORMAT_HTML);
    else if (p_strReportType.equals("FORMAT_EXCEL"))
    processorXSL2RPT.setOutputFormat(FOProcessor.FORMAT_EXCEL);
    try {
    processorXSL2RPT.generate();
    } catch (XDOException e) {
    e.printStackTrace();
    System.exit(1);
    return osReport.toString();
    public static void main(String[] args) {
    DPPReportAPI xmlPublisher = new DPPReportAPI();
    Hashtable parameters = new Hashtable();
    parameters.put("P_TRANSACTION_NUMBER", "1000");
    String strOutput = xmlPublisher.getUIReportUI("/home/sanagar/Java/CUSTOMERCLAIM.rtf", parameters, "FORMAT_RTF");
    System.out.println("Output String: "+strOutput);
    Thanks,
    Sangheetha.

    Hi Sangheetha,
    I am new to Java, and working on the XMLP 5.6.3 with EBS 11.5.9.
    Where to write this Java code for bursting or the Java API's documented in XML Publisher user guide. JDevloper tool is required to do this, if yes pls let me know which version should i go for and how can use for XMLP to develop reports, i mean how to integrate the JDeveloper with XML Publisher and EBS.
    I really appriciate your early reply.
    Thanks,
    Madhu

  • XML Publisher issues

    Hi,
    We are using XML Publisher API to generate PDF,EXCEL outputs using Template. While adding image to the template its showing in the pdf output. But not showing in the Excel output. Then i added url:{/Image} in the alt text of the image in template and submitted the report again now able to see the image in excel output. Can you please tell me why its not showing the image in excel by default which is right happening in case of PDF. Iam getting the same issue for HTML outputs generation also. Please tell me what i can do to get the image by default same as the way i am getting in PDF.
    Thanks
    Satya

    Shouldn't this be posted to the BI Publisher support forum??
    Thank you,
    Tony Miller
    Ruckersville, VA

Maybe you are looking for