Bursting API errorTh

Hi,
I amgetting the following error, while running the concurrent program using the bursting API.. I feel that it is not reading my data XML file. If i replace ${EMAIL} with some hardcoded mail id, then it is sending a mail. Can somebody suggest me, what could have gone wrong?
It would be great, if somebody could send me a working sample, my id is [email protected]
][oracle.apps.xdo.batch.DeliveryHelper][EXCEPTION] javax.mail.internet.AddressException: Illegal address in string ``
Thanks
giri

Hi,
sample XML data......
<?xml version="1.0"?>
<!-- Generated by Oracle Reports version 10.1.2.0.2 -->
<XXTESTMAIL>
<LIST_G_EMPNO>
<G_EMPNO>
<EMAIL>[email protected]</EMAIL>
<EMPNO>7369</EMPNO>
<ENAME>SMITH</ENAME>
<JOB>CLERK</JOB>
<SAL>800</SAL>
<DEPTNO>20</DEPTNO>
</G_EMPNO>
<G_EMPNO>
<EMAIL>[email protected]</EMAIL>
<EMPNO>7499</EMPNO>
<ENAME>ALLEN</ENAME>
<JOB>SALESMAN</JOB>
<SAL>1600</SAL>
<DEPTNO>30</DEPTNO>
</G_EMPNO>
RTF code
<?for-each:G_EMPNO?>
<?EMPNO?>
<?ENAME?>
<xsl:attribute name="break-before">page</xsl:attribute></xsl:if> --for page break
<?end for-each?>
Thanks & Regards
Giri

Similar Messages

  • Bursting API - FileSys Output - when is PDF "done"?

    I'm using Bursting APIs (DocumentProcessor(..); .process()) to produce multiple PDFs and place them on the filesystem - to a Win XP folder. In parallel, I have another independent custom Java process running to poll the folder. The second (polling) process gets to an individual PDF, uses RandomAccessFile(...,"rw") and .getChannel().tryLock() on it, and if the lock is obtained (and released) - it grabs it for further processing. I have a suspicion that the second process grabs the PDF before the file is actually "done". I'm wondering if there is a "recommended" method checking if the Bursting engine is done placing the individual PDF onto the filesystem?

    see the documentation. there are bursting listner so I think this should work for you.
    ike wiggins
    http://bipublisher.blogspot.com

  • Bursting with JAVA APIs / MultiThreading / Errors Handling

    We are trying to use the bursting JAVA APIs 10.1.3.3.1 Standalone) to burst huge XML files and generate PDF Files from RTF templates. Here are a list of our issues with this feature:
    1. We have some problems catching the errors when bursting. We have tried to use the "oracle.apps.xdo.common.log.Logger" class, but it is not always reacting like we think it should. Could you please give us an exemple of a clean bursting error catching or a brief description of how we could do it. We have a lot of difficulties to find information about using the JAVA APIs of BIP.
    2. Is it a clean way of catching the bursting errors to use the "oracle.apps.xdo.common.log.Logger" class?
    3. When using the 10.1.3.3.1 DocumentProcessor JAVA API, the process gets killed when the RTF template is not where the control file specified it. Even when using a finally clause containing the document processor, we can't fetch the error from the "oracle.apps.xdo.common.log.Logger" class. We did not find a way to catch this error which make our program crash.
    4. How can we enable multi-threading that is included in the DocumentProcessor JAVA APIs so it can take advantage of the multi-processors environnements?

    1. Check tim d. blog, you can use the bursting listners to get the errors. It's also in the documentation.
    First, on every exception, the Bursting APIs are dumping the error in the Logger. So I can't see how we can use the listeners to catch these. We can check the hasExceptions on the Logger but still, we have some problems with this. When we deploy our application as a MDB (Message driven bean), it seems that once the hasException flag has been raised, if we call the MDB again, it is still up. Is there documentation about that Logger class? Also, I'm worried that we won't be able to call our MDB twice to run simultaneously 2 different bursting process since it seems the Logger is something static, keeping every exception in memory... That's bad.. And show me where you have found documentation about this. All I see in documentation is how to call the DocumentProcessor in a couple of lines. I don't see anything about a clean way to catch errors.
    2. Yes/No/Depends. I think it's fine. If your changing the logger options in your program that could come back to haunt you.
    I guess so, I'm not changing anything and its already haunting me...
    3. When using the 10.1.3.3.1 DocumentProcessor JAVA API, the process gets killed when the RTF template is not where the control file specified it. Even when using a finally clause containing the document processor, we can't fetch the error from the "oracle.apps.xdo.common.log.Logger" class. We did not find a way to catch this error which make our program crash.
    Even worst, when we deploy the component has an MDB, when the error happens, it kills the whole oc4j container... please correct this quick.
    4. How can we enable multi-threading that is included in the DocumentProcessor JAVA APIs so it can take advantage of the multi-processors environnements?
    We got an answer from the dev team which is to add two properties to the document processor, something like:
    enable-multithreading: true
    thread-count: >2
    We did that and what we got is that the process started and it got stuck in a dead lock at the first document processing. How nice! :)
    We got a milestone in March and I'm really worried about all those problems... Not enough documentation, a pretty bad error handling, errors making crash the whole oc4j container, Logger seems not to be handling simultaneous calls/ threads, not even handling two subsequent calls... etc.
    If anyone has the magic answer, it would be pretty welcomed!
    Thanks

  • Prbolem with BURSTING

    Hi XMLP Gurus,
    I am trying to generate Purchase Order report using Bursting API.
    Requirement is to generate PDF document, containing POs, per vendor site.
    What I am doing is generating XML Data file using Java DataEngine API, which contains POs for all the vednor sites. Then, I burst the file at vendor site level.
    I would like to generate one document for one vendor site.
    The following is the control file I am using.
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">
         <xapi:request select="/G_VENDOR_SITES/LIST_G_VENDOR_SITE/G_VENDOR_SITE">
              <xapi:delivery>
                   <xapi:filesystem id="file" output="/tmp/coe/xmlp/data/${P_VENDOR_SITE_ID}.pdf" />
              </xapi:delivery>
              <xapi:document output-type="pdf" delivery="file">
                   <xapi:template type="rtf" location="/tmp/coe/xmlp/templates/RTF_TEMPLATE_LAYOUT.rtf">
                        <!--xapi:data location="/tmp/coe/xmlp/data/coePoPrintXML.xml"/-->
                   </xapi:template>
              </xapi:document>
         </xapi:request>
    </xapi:requestset>
    Structure of my file:
    +<G_VENDOR_SITES>
    ++<LIST_G_VENDOR_SITE>
    +++<G_VENDOR_SITE>
    ++++<P_VENDOR_SITE_ID>1970</P_VENDOR_SITE_ID>
    ++++<COUNTRY>US</COUNTRY>
    ++++<LIST_G_PO_HDR>
    ++++...
    ++++<G_PO_HDR>
    ++++...
    +++++++lines..
    +++++++++++shipments..
    +++++++++++++++distributions..
    I am facing couple of problems as follows:
    1) Dynamic file name generation is not working.
    <xapi:filesystem id="file" output="/tmp/coe/xmlp/data/${P_VENDOR_SITE_ID}.pdf" />.
    This is not substituting the value of ${P_VENDOR_SITE_ID}. So I get only one file namely, ".pdf"
    2) In the next version of my report, I would like to deliver the document based on Vendor site's notification preference. It means, delivery should be dynamic. Eg. if vendor site has Email as notification method, PDF generated for that Vendor site should be sent thru email. Similarly, for FAX.
    Does <xapi:document> element support filter attribute?
    Or I have to use multiple <request> element to achieve this?
    Your thoughts gurus..
    Thanks-
    Ashish.

    Hi Ashish,
    if u got the solution for your requirement pls let me know, I am also working on the same report.
    my requirement is if i run a batch (for example batch contains 6 PO's with 3 PO's C_PRINT_FAX_FLAG ='E' (Email) and other three PO's C_PRINT_FAX_FLAG ='F' (Fax) ) based on the filter="//G_HEADERS[C_PRINT_FAX_FLAG ='E' or filter="//G_HEADERS[C_PRINT_FAX_FLAG ='F' the program should burst on the respective flags.And if C_PRINT_FAX_FLAG ='E' i have to email those PO's to different suppliers OR if C_PRINT_FAX_FLAG ='F' i have to fax those PO's to respective supplier faxnumbers.
    but now it is not bursting the program sending all the 6 PO's output as a single PDF file to all the suppliers and supplier faxnumbers (irrespective of Flag value)
    ex:
    ----PO No: | --------- Flag:-------------------- |--supplier email address:-----
    ----------------| --------------------------------- -----| -------------------------------------------
    ##PO1001 | C_PRINT_FAX_FLAG ='E' | [email protected]
    ##PO1002 | C_PRINT_FAX_FLAG ='E' | [email protected]
    ##PO1003 | C_PRINT_FAX_FLAG ='E' | [email protected]
    ##PO1004 | C_PRINT_FAX_FLAG ='F' | [email protected]
    ##PO1005 | C_PRINT_FAX_FLAG ='F' | [email protected]
    ##PO1006 | C_PRINT_FAX_FLAG ='E' | [email protected]
    for the above PO's :
    1. ##PO1001, ##PO1002 should email to [email protected]
    2.##PO1003 should email to [email protected]
    and
    3.##PO1004,##PO1005 should fax to [email protected]
    ##PO1006 should fax to [email protected]
    my control file is :
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">
    <xapi:request select="/xxx_HQ_XML_POXPRPOL/LIST_G_INIT_INFO/
    G_INIT_INFO/LIST_G_HEADERS/G_HEADERS">
    <xapi:delivery>
    <xapi:email id="1231" server="xxxx.aaa.com" port="25" from="[email protected]" reply-to ="[email protected]">
    <xapi:message id="123" to="${CF_SUPPLIER_EMAIL_ADDRESS}" attachment="true" subject=" Purchase Order No: ${POH_PO_NUM}"> Please review the attached PO ${POH_PO_NUM} </xapi:message>
    </xapi:email>
    </xapi:delivery>
    <xapi:document output-type="pdf" delivery="123">
    <xapi:template type="rtf"
    location="/d01/oracle/kefdcomn/java/oracle/apps/customtop/PO_Batch.rtf" filter=".//G_HEADERS[C_PRINT_FAX_FLAG ='E' and CF_SUPPLIER_EMAIL_ADDRESS !='' ]">
    </xapi:template>
    </xapi:document>
    </xapi:request>
    <xapi:request select="/xxx_HQ_XML_POXPRPOL/LIST_G_INIT_INFO/
    G_INIT_INFO/LIST_G_HEADERS/G_HEADERS">
    <xapi:delivery>
    <xapi:email id="1233" server="xxx.xxxx.com" port="25" from="[email protected]" reply-to ="[email protected]">
    <xapi:message id="1233" to="${CF_SUPPLIER_FAX_NUMBER}" attachment="true" subject="Fax sent Purchase Order No: ${POH_PO_NUM}"> </xapi:message>
    </xapi:email>
    </xapi:delivery>
    <xapi:document output-type="pdf" delivery="1233">
    <xapi:template type="rtf"
    location="/d01/oracle/kefdcomn/java/oracle/apps/xxx/PO_Batch.rtf" filter="//G_HEADERS[C_PRINT_FAX_FLAG ='F' and CF_SUPPLIER_FAX_NUMBER !='']">
    </xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>
    my XML data is:
    <?xml version="1.0" ?>
    - <!-- Generated by Oracle Reports version 6.0.8.27.0
    -->
    - <xxx_HQ_XML_POXPRPOL>
    - <LIST_G_INIT_INFO>
    - <G_INIT_INFO>
    <MANUAL_PO_NUM_TYPE>NUMERIC</MANUAL_PO_NUM_TYPE>
    <C_COMPANY>abc Corporation</C_COMPANY>
    <C_ORGANIZATION_ID>206</C_ORGANIZATION_ID>
    <BASE_CURRENCY_CODE>USD</BASE_CURRENCY_CODE>
    <STRUCTURE_ACC>1001</STRUCTURE_ACC>
    <STRUCTURE_CAT>2001</STRUCTURE_CAT>
    <C_CATEGORY_SET_ID>16</C_CATEGORY_SET_ID>
    <C_YES>Yes</C_YES>
    <C_NO>No</C_NO>
    - <LIST_G_HEADERS>
    + <G_HEADERS>
    </G_HEADERS>
    + <G_HEADERS>
    </G_HEADERS>
    </LIST_G_HEADERS>
    </G_INIT_INFO>
    </LIST_G_INIT_INFO>
    <WHERE_CLAUSE>AND (nvl(poh.print_count,0) = 0 OR to_date(poh.revised_date, 'DD-MON-RR HH24:MI')>poh.printed_date)</WHERE_CLAUSE>
    <PO_NUM_TYPE>NUMERIC</PO_NUM_TYPE>
    <ORGANIZATION_ID>206</ORGANIZATION_ID>
    <C_ARCHIVE_SUCCEED>1</C_ARCHIVE_SUCCEED>
    <C_MARGIN_FIELD />
    <C_EC_WHERE_CLAUSE>AND NOT EXISTS (SELECT 'X' from xxxxx)</C_EC_WHERE_CLAUSE>
    <CS_1></CS_1>
    <CS_2></CS_2>
    <CS_3></CS_3>
    </xxx_HQ_XML_POXPRPOL>
    If any one have pls send me the Bursting Control file.
    my id is [email protected]
    I ill appreciate your early reply.
    Thanks,
    Madhu

  • XML Publisher 5.6.3 and Bursting

    Hi All,
    According to Tim Dexter's blog "E Business Suite Bursting - 4/5/07; 6:33:55 PM", XMLP 5.6.3 will have a Java Concurrent Program that will invoke the Bursting API out of the box. Obviously negating the need for us to create our own.
    My client has upgraded to 5.6.3 this morning, everything is working fine and as expected, however I cannot find this "new" Conc Prog anywhere. It also cannot find any reference to it in any documentation for 5.6.3. Specifically I need the Concurrent PROGRAM Short Name.
    Does anyone have any idea whether this was implemented in 5.6.3, or how I can find it if it is. I need to determine whether it is worth continuing development on our custom Java Concurrent Program if the same functionality already exists.
    I look forward to hearing from you,
    Cheers,
    Cj

    Hi Ram,
    I got the Bursting with 5.6.2 working already, but it should be an out of the box solution in 5.6.3. I just can't find the default JCP.
    We are still in the prelimary stages of development, and it would be far simpler to use an out of the box solution as opposed to continuing to develop something that already exists.
    The Doc that contains all the required patches etc in Metalink is:
    About XML Publisher Release 5.6.3 - Metalink: 422508.1
    Thanks for your reply.
    Cj

  • Email Bursting problem when there is not email - Urgent solution requried

    Hi,
    I am using the bursting API to send the invoices to multiple mail a/c for each invoice.
    If the email id not exist on the .out file(It has different invoices with different customers), If takes the previous email id from the different invoice, Which is not correct.
    If it is the case then the program will send the invoice to the customer which even not belog to the customer.
    Thanks & Regards,
    Rakesh Patel

    Rakesh
    I also faced this issue. I think it's a bug and Oracle Development will fix this.
    I think its the issue with Bursting API is not able to clear Buffer/variable holding this values.
    I have used another approach to fix this ,did not get time to raise TAR.
    There are various workarounds to fix it based on the requirement of client
    If Customer's email address is stored as blank in Customer Master then there is no point in sending them automatic mail ,in this case this has to be sent to Manually by client ( i mean this invoice mail should go to Admin person who has generated Invoice and that person in turn will take care to sent it to actual customer either by email or fax or manually by post)
    -- So in summary solution here is ,if Customer's email address is null then send it to person who has generated the invoice ( use his email ID).
    Functional folks have to play role here to convience client rgarding this
    In my case client agreed on it and subsequently I followed below approach.
    I was generating/extracting Data by XML publisher's Data Template [i was not using Oracle Report(RDF)],so in Data Template itself i handled it in SQL by NVL function in a such way that whenever email_address is blank then use originator email Address.
    If you are using Oracle reports then you can use same approach or handle it through formula column.
    Hope it will be useful to you at the certain extent.You can use this untill Oracle released the patch to fix this.
    With Best Regards
    Darshan Bhavsar

  • Printing requirements for Bi publisher report

    Hi all
    Can any one tell me the steps required for me to look at the setups on my server side so that i can print the reports using the bursting API.The problem is i am not able to debug the log file as there is no connection error or any other exception but still i am not able to see the documents printed.
    this is part of my log file
    POST /printers/u260 HTTP/1.1Host: u260:631
    User-Agent: Oracle XML Publisher 5.6.3
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: application/ipp
    <<<
    IPP version: 10
    operation id: 410
    charset: utf-8
    request id: 1
    -- operation attrs --
    [1]attributes-charset:utf-8
    [1]attributes-natural-language:en-us
    -- printer attrs --
    -- job attrs --
    From this i understood that there is no problem with the connection but some how it is not printing.
    Any help will be appreciated as i am having tough time figuring out this.
    Thanks
    Harsha

    You need about 40 GB total. Also make sure that your /tmp and /var/tmp have about 2GB free in them, otherwise the installation will fail. (I can't remember the exact numbers, though.)
    I agree, the system requirements do not exist anywere in any straightforward documentation. You need to read at least three different documents to piece together the requirements, and the results will still be incomplete.

  • XML Publisher 5.6 standalone

    Does anybody know what the release date of XML-Publisher 5.6 for standalone will be?
    I already saw the beta version on the blog of Mark Rittman.
    Thanks Marcos

    Hi Wendy,
    As I told you - I can't help with the footnotes right now, but I can help with multiple styles.
    We needed to use in contracs text that contained rich text (bold, italics, lists).
    What we did is the following. We marked the text up as XHTML. (Note it has to be XML compliant). We put marks in such as < B > < / B >. Now in Oracle Contracts we used just real HTML and corrected everything with a program an through out all tags that we didn't care about.
    If you tags in your text you can write an XSL stylesheet that replaces the < B > tag to any kind of XSL-FO tags that for example change the font or make the text bold. Let me know, if that would help you.
    For bursting we are woking on a bursting API - that can email the output or store in a file system unfortunately not in the database yet.
    Message was edited by:
    KlausFabian
    Message was edited by:
    KlausFabian

  • Retrive Japanese data and store into a file

    Hi,
    I have a table which contains japanese data. My database charset is AL32UTF8. I am able to insert japanse data into oracle table also I am able to view inserted data into oracle table using sql*plus.
    I wrote a java program to write a file with table stored data. To fetch that data I am using sql query. When I use ojdbc14.jar of version 9.0.2.0.0. Then I am able to write japanse data file but when I use ojdbc14.jar of version 10.2.0.3.0. Then I found junked data into data file.
    Please help me out to solve this problem.

    The BIP Bursting APIs allow you to hook in code, in which you could achieve what you mention - but would require programming it!
    Regards,
    Gareth

  • PASTA

    Hi all
    I have a req where i need to print the Invoices through bursting.But my linux system is RHEL2 where it doesnt support CUPS itseems as it ok from RHEL4.I have no idea about red hat linux.So i have no other go other than to print with out bursting. I tried to print setting my printer type as PASTA but no help....it is printing junk charecters.can any one tell me if it is correct
    Print Style : Some user defined style
    Type: PASTA
    Driver: PASTA-PDF
    Guys just let me know if i have to make any other setups other than this.
    Thanks
    Harsha

    Hi Tim
    Thanks for the help.Well i heard from red hat that they wont support anymore if we go with cups on RHEL2.I think i have to go with lp.Well what if i have to print from the concurrent program, i mean i don't want to burst the file and print but i just want to print after the output(not calling the bursting api) with pasta printer type. Is it documented any where how to set the pasta printer for BI publisher output.It may sound weird but have tried all possible ways trying to print registering my printer with pasta pdf driver but some how its not working.
    Thanks
    Harsha

  • Exception happened when calling deliver API for BI Publisher Bursting

    Hi All,
    I have developed a BI Publisher report on OBIEE standalone instance (Oracle Business Intelligence 11.1.1.5.0).
    I am able to generate the report and burst the output to emails successfully.
    But when I tried to burst the output directly to the printer or to save the output FILEs to local machine, am getting the below error/exception.
    For PRINT type...error is below
    Document delivery failed
    [INSTANCE_ID=bisrv.oracleads.com.1305914111196] [DELIVERY_ID=1182]Error deliver document to printer::Exception happened when calling deliver API::Error deliver document to printer::Exception happened when calling deliver API::oracle.xdo.delivery.DeliveryException: oracle.xdo.delivery.DeliveryException: java.net.UnknownHostException: blr-ibc-7a-prn1 oracle.xdo.service.delivery.DeliveryException: oracle.xdo.delivery.DeliveryException: oracle.xdo.delivery.DeliveryException
    for FILE type.... error is below
    Document delivery failed
    [INSTANCE_ID=bisrv.oracleads.com.1305914111196] [DELIVERY_ID=1192]Error deliver document to file::FILE=[D:\Harish:9930609876-10001969343.pdf::Exception happened when calling deliver API::FILE=[D:\Harish:9930609876-10001969343.pdf::Exception happened when deliver to file:: FILE_NAME= D:\Harish/9930609876-10001969343.pdf] ::oracle.xdo.delivery.DeliveryException: java.io.FileNotFoundException: D:\Harish/9930609876-10001969343.pdf (No such file or directory)oracle.xdo.ser
    Can anyone please help on this?
    Thanks,
    Harish

    Hi Varma,
    thanks for the reply.
    Here are the below sql scripts I used.
    -- Printer
    SELECT BILL_NUMBER      KEY,
    'Layout'           TEMPLATE,     
    'en-US'                     LOCALE,
    'PDF'                          OUTPUT_FORMAT,
    'PRINT'                     DEL_CHANNEL,
    BILL_NUMBER                OUTPUT_NAME,
    'true'                          SAVE_OUTPUT,
    'Direct Printers'           PARAMETER1,
    'LocalPrinter'               PARAMETER2,
    1                               PARAMETER3,
    'd_single_sided'           PARAMETER4,
    'default'                     PARAMETER5
    FROM XXXX_BILL_TAB;
    -- File
    SELECT BILL_NUMBER           KEY,
    'VLayout'           TEMPLATE,
    'RTF'               TEMPLATE_FORMAT,
    'en-US'           LOCALE,
    'PDF'           OUTPUT_FORMAT,
    'FILE'           DEL_CHANNEL,
    'true'           SAVE_OUTPUT,
    'Monthly Bill for ' || MOBILE_NUMBER OUTPUT_NAME,
    'D:\Harish'      PARAMETER1,
    MOBILE_NUMBER||'-'||BILL_NUMBER     PARAMETER2
    FROM XXXX_BILL_TAB;
    Thanks,
    Harish
    Edited by: 899863 on Dec 16, 2011 4:01 AM

  • How to burst reports in text and XML format using API

    Hi there,
    I need to be able to burst PDF, Excel etc reports and at the same time, generate XML files containing metadata that will accompany the PDF files to their destination. The reason for this, is that the destination requires metadata to class the documents in the content management system.
    My issue is that I just cannot get bursting to XML, text or HTML format right. There is very little documentation available around creating reports in these formats using the API's and perhaps someone who has gotten this right can, once and for all, solve this issue where others can find the solution.
    Alright, here is some sample supporting documentation (For the sake of the question, I have removed the bursting to PDF, Excel etc. formats and I am just focusing on the XML output):
    In my code for bursting, I make use of the following constructor...
    DocumentProcessor dp =
    new DocumentProcessor("ControlFile.xml", "TestData.xml", "temp");
    The ControlFile.xml looks like this...
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">
    _<xapi:request select="/DATA/LIST_BRANCH/BRANCH">
    ___<xapi:delivery>
    ______<xapi:filesystem id="dst" output="C:\${BRANCH_NAME}.xml"/>
    ___</xapi:delivery>
    ___<xapi:document output-type="text" delivery="dst">
    ______<xapi:template type="xsl-fo" location="Template.xsl"></xapi:template>
    ___</xapi:document>
    _</xapi:request>
    </xapi:requestset>
    The data in my TestData.xml looks like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <DATA>
    ___<LIST_BRANCH>
    ______<BRANCH>
    __________<BRANCH_NAME>BRANCH 1</BRANCH_NAME>
    ______________ OTHER IRRELEVANT DATA
    ______</BRANCH>
    ______<BRANCH>
    __________<BRANCH_NAME>BRANCH 2</BRANCH_NAME>
    ______________ OTHER IRRELEVANT DATA
    ______</BRANCH>
    ___</LIST_BRANCH>
    </DATA>
    In my ControlFile.xml, I reference my XSL file called Template.xsl which should do my transformations into XML. That file looks like:
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    __<xsl:output method="xml" indent="yes">
    __<xsl:template match="/">
    ____<METADATA>
    _______<BRANCH>
    ___________<xsl:value-of select="BRANCH_NAME"/>
    _______</BRANCH>
    ____</METADATA>
    __</xsl:template>
    </xsl:stylesheet>
    I have tried about forty variations of the ControlFile.xml and Template.xsl and have had no luck. Among the various error messages that the compiler has reported to me, these are the most common:
    [101507_055953158][][EXCEPTION] Error while generating the Document...
    [101507_055953158][][EXCEPTION] org.xml.sax.SAXException: element metadata is not supported yet.
    [101507_061037084][][EXCEPTION] Error while generating the Document...
    [101507_061037094][][EXCEPTION] oracle.xml.parser.v2.XMLParseException: Start of root element expected.
    I have managed in some cases to get the API code to compile, but the outputs are empty 0kb files.
    I have also exported an XSL-FO file from word, but the output is always PDF even with tweaking.
    I have wasted about 9 hours on this problem and it is driving me mad! If anyone has ideas, tips and/or solutions, they would be very welcome.
    Thanks in advance,
    Andrew

    For anyone interested... here it is!
    Format Setup:
    <TEMPLATE TYPE> DELIMITER_BASED
    <OUTPUT CHARACTER SET> iso-8859-1
    <NEW RECORD CHARACTER>     Carriage Return
    Sequences:
    <DEFINE SEQUENCE> MetaDataSeq
    <RESET AT LEVEL>     BRANCH
    <INCREMENT BASIS> LEVEL
    <END DEFINE SEQUENCE> MetaDataSeq
    Format Data Records:
    <LEVEL> BRANCH
    <MAXIMUM LENGTH><FORMAT><DATA>
    <NEW RECORD> FileHeaderRec
    16_________________Alpha_____‘<REPORT_SUMMARY>’
    22_________________Alpha_____‘<TYPE>1</TYPE>’
    255________________Alpha_____'<NAME>’ || BRANCH_NAME || ‘.pdf</NAME>’
    255________________Alpha_____'<DESC>NON-MOTOR VEHICLE CLAIMS</DESC>’
    10_________________Alpha_____‘<METADATA>’
    255________________Alpha_____‘<CONTROL_AREA>MAIN CONTROL AREA</CONTROL_AREA>’
    255________________Alpha_____‘<BRANCH_CODE>’ || BRANCH_CODE || ‘</BRANCH_CODE>’
    255________________Alpha_____‘<BRANCH_NAME>’ || BRANCH_NAME || ‘</BRANCH_NAME>’
    255________________Alpha_____'<DIVISION_CODE>1</DIVISION_CODE>’
    255________________Alpha_____‘<DIVISION_NAME>PERSONAL</DIVISION_NAME>’
    11_________________Alpha_____‘</METADATA>’
    17_________________Alpha_____‘</REPORT_SUMMARY>’
    <END LEVEL> BRANCH

  • Bursting Java API throws an error javax.mail.internet.ParseException

    Hi,
    I am using the BurstingProcessorEngine API call send emails to the employees of an organization.
    When i used the bursting file with the paramter of attachments to false, the email goes through. When i change the attachment parameter to yes in the bursting control file then program errors with an exception [oracle.apps.xdo.batch.DeliveryHelper][EXCEPTION] javax.mail.internet.ParseException
    following is how i the bursting control file i have used
    <?xml version="1.0" encoding="UTF-8" ?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi/" type="bursting">
    <xapi:request select="/PAYSLIP_REPORT/PAYSLIP">
    <xapi:delivery>
    <xapi:email server="exchange.corp.rghent.com" port="25" from="[email protected]">
    <xapi:message id="EMAIL1" to="${EMAIL}" content-type="text/html" attachment="true" subject="Test Email">
    Hello,
    Oracle Workflow
    </xapi:message>
    </xapi:email>
    </xapi:delivery>
    <xapi:document key="${EMPLOYEE_NUMBER}" output-type="PDF" output="${EMPLOYEE_NUMBER}.pdf" delivery="EMAIL1">
    <xapi:template type="rtf" location="xdo://PAY.XXEPUSDEPADVXML_PDF.en.US/?getSource=true" filter="">
    </xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>

    Hi,
    You need to change the output-type to lower case, ie "pdf".
    Regards,
    Rajeev

  • Can't burst by email using Document Processor API

    I am using the API's to burst a file. I can burst to teh printer and filesystem - no problem. But when I attempt to burst via email I get this error:
    [EXCEPTION] oracle.apps.xdo.delivery.DeliveryException: Document file
    [EXCEPTION] Error!! Could not deliver the output for Delivery channel:null . Please check the Log for err
    My mail server is up and running as I can telnet to it. I also can use the front end application to email reports. Oracle support has validated that my syntax is correct. I have included the mail jar files in my classpath even though there is no documentation saying I need to do include jar files besides the bi pub ones.
    Here's the bursting control file:
    <?xml version="1.0" encoding="UTF-8" ?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">
    <xapi:request select="/CPMAILSEQ1/LIST_ROW">
    <xapi:delivery>
    <xapi:email id="123" server="myserver" port="25" from="[email protected]" reply-to ="[email protected]">
    <xapi:message id="123" to="[email protected]" cc="[email protected]"
    attachment="true" subject="CP Mail Report"> Please review the attached document</xapi:message>
    </xapi:email>
    <xapi:filesystem output="/myfiles/output.pdf" />
    </xapi:delivery>
    <xapi:document output-type="pdf" delivery="123">
    <xapi:template type="rtf"
    location="/u01/app/oas/product/10.1.4b/OracleBI/xmlp/XMLP/Reports/Financials/CertifiedPayroll/Mail_Seq_1/Seq_1_Temp
    late.rtf" />
    </xapi:document>
    </xapi:request>
    </xapi:requestset>
    here's the java:
    DocumentProcessor dp = new DocumentProcessor ("Bursting.xml","/myfiles/mailData.xml","/myfiles/
    outdata");
    dp.process();

    [081110_082842034][oracle.apps.xdo.template.FOProcessor][STATEMENT] Calling FOProcessingEngine.process()
    [081110_082842041][][STATEMENT] Using optimized xslt
    [081110_082842071][][STATEMENT] Temporary file created: /var/tmp/xdoicgRL0O6111480.tmp
    [081110_082842087][][STATEMENT] [ RTF GENERATOR ]---------------------------------------------
    [081110_082842093][][STATEMENT] XDO version = Oracle BI Publisher 10.1.3.4.1
    [081110_082842099][][STATEMENT] java.home = /u01/app/oas/product/java1.5/jre
    [081110_082842105][][STATEMENT] XDO_TOP = null
    [081110_082842112][][STATEMENT] Config Path = null
    [081110_082842118][][STATEMENT] Debug Cfg Path= /u01/app/oas/product/java1.5/jre/lib/xdodebug.cfg
    [081110_082842124][][STATEMENT] Font dir = /u01/app/oas/product/java1.5/jre/lib/fonts/
    [081110_082842130][][STATEMENT] Locale = en
    [081110_082842137][][STATEMENT] [ RTF GENERATOR PROPERTIES ]----------------------------------
    [081110_082842143][][STATEMENT] fo-image-handling-ver=5.5
    [081110_082842149][][STATEMENT] rtf-output-default-font=null(not set)
    [081110_082842155][][STATEMENT] rtf-protect-document-for-tracked-changes=false
    [081110_082842161][][STATEMENT] rtf-track-changes=false
    [081110_082842167][][STATEMENT] system-temp-dir=/var/tmp/
    [081110_082842174][][STATEMENT] ------------------------------------------------------
    [081110_082842506][][STATEMENT] Rendering page [1]
    [081110_082842531][oracle.apps.xdo.common.font.FontFactory$FontDef][STATEMENT] Type1 font created: Helvetica
    [081110_082843577][][STATEMENT] Phase2 time used: 1096ms
    [081110_082843585][][STATEMENT] Total time used: 1537ms for processing XSL-FO
    [081110_082843711][][STATEMENT] FO+Gen time used: 1671 msecs
    [081110_082843719][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) is called.
    [081110_082843734][oracle.apps.xdo.template.FOProcessor][STATEMENT] clearInputs(Object) done. All inputs are cleared.
    [081110_082843740][oracle.apps.xdo.template.FOProcessor][STATEMENT] End Memory: max=910MB, total=735MB, free=661MB
    [081110_082843774][][STATEMENT] initConfig(): config file used :null
    [081110_082843780][][STATEMENT] initCustomFactories(): loading custom delivery channels :{}
    [081110_082843787][oracle.apps.xdo.delivery.DeliveryManager][STATEMENT] initConfig(): loading default properties :{}
    [081110_082843793][oracle.apps.xdo.delivery.DeliveryManager][STATEMENT] createRequest(): called with request type :smtp_email
    [081110_082843852][oracle.apps.xdo.delivery.DeliveryManager][STATEMENT] createRequest(): exiting
    [081110_082843876][oracle.apps.xdo.delivery.smtp.SMTPDeliveryRequest][STATEMENT] submit(): Called
    [081110_082843884][oracle.apps.xdo.batch.DeliveryHelper][EXCEPTION] oracle.apps.xdo.delivery.DeliveryException: Document file or input stream is not set.
    at oracle.apps.xdo.delivery.AbstractDeliveryRequest.submit(Unknown Source)
    at oracle.apps.xdo.batch.DeliveryHelper.submitRequests(Unknown Source)
    at oracle.apps.xdo.batch.bursting.DocumentDelivery.submitCoreDeliveryRequests(Unknown Source)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.addDocument2Queue(Unknown Source)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.createBurstingDocument(Unknown Source)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.burstDocument(Unknown Source)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.globalDataEndElement(Unknown Source)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.endElement(Unknown Source)
    at oracle.xml.parser.v2.XMLContentHandler.endElement(XMLContentHandler.java:210)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1318)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:336)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:303)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:263)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.burstingRequest(Unknown Source)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.burstingEndElement(Unknown Source)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.endElement(Unknown Source)
    at oracle.xml.parser.v2.XMLContentHandler.endElement(XMLContentHandler.java:210)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1318)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:336)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:303)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:263)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.burstingConfigParser(Unknown Source)
    at oracle.apps.xdo.batch.BurstingProcessorEngine.process(Unknown Source)
    at oracle.apps.xdo.batch.DocumentProcessor.process(Unknown Source)
    at MailProcess.BurstEmail(MailProcess.java:40)
    at MailProcess.main(MailProcess.java:58)
    [081110_082843890][][EXCEPTION] Error!! Could not deliver the output for Delivery channel:null . Please check the Log for error details..

  • Deleted Item not actually getting deleted or **delay** deleted thus getting refetched (EWS Managed API)

    I am polling Exchange Server to fetch all the mails left in the Inbox and then fetching them, processing them and finally moving them to the deleted folder. My procedure takes following form of EWS Managed API calls:
    1 itemResults = service.FindItems(WellKnownFolderName.Inbox, itemView);
    2 //some code...
    3 service.LoadPropertiesForItems(itemResults.Items, itItemPropSet);
    4 //some code...
    5 foreach(Item item in itemResults)
    6 {
    7 //process item
    8 item.Delete(DeleteMode.MoveToDeletedItems);
    9 }
    To test this code I flooded the inbox with 5000 mails, 5 threads flooding 1000 mails each at the interval of 4ms.
    After test run, I realized some mails are getting processed multiple times.
    When I read the soap traces logged using TraceListener, I realized that when there are more than 100 mails in the inbox, there are more SOAP packets were dispatched in burst of 100s.
    Logically below set of SOAP Packets (let us call it "Set 1") should occur only once:
    <m:FindItem>...</m:FindItem> //generated by line 1
    <m:FindItemResponse>...</m:FindItemResponse> //generated by line 1
    <m:GetItem>...</m:GetItem> //generated by line 3
    <m:GetItemResponse>...</m:GetItemResponse> //generated by line 3
    followed x number of Delete SOAP packets for x number of mails in the Inbox
    <m:DeleteItem>...</m:DeleteItem> //generated by line 8
    <m:DeleteItemRepsonse>...</m:DeleteItemRepsonse> //generated by line 8
    However if there are say 325 mails in the inbox, then there first occurs 4 occurences of Set 1 followed by Delete SOAP packest as follows:
    //1st occurence
    <m:FindItem>100 items</m:FindItem>
    <m:FindItemResponse>100 items</m:FindItemResponse>
    <m:GetItem>100 items</m:GetItem>
    <m:GetItemResponse>35 items</m:GetItemResponse>
    //2nd occurence
    <m:FindItem>100 items</m:FindItem>
    <m:FindItemResponse>100 items</m:FindItemResponse>
    <m:GetItem>100 items</m:GetItem>
    <m:GetItemResponse>35 items</m:GetItemResponse>
    //3rd occurence
    <m:FindItem>100 items</m:FindItem>
    <m:FindItemResponse>100 items</m:FindItemResponse>
    <m:GetItem>100 items</m:GetItem>
    <m:GetItemResponse>100 items</m:GetItemResponse>
    //4th occurence
    <m:FindItem>35 items</m:FindItem>
    <m:FindItemResponse>35 items</m:FindItemResponse>
    <m:GetItem>35 items</m:GetItem>
    <m:GetItemResponse>35 items</m:GetItemResponse> //****followed by 335 occurences of the Delete SOAP packets****<m:DeleteItem>...</m:DeleteItem>  
    <m:DeleteItemRepsonse>...</m:DeleteItemRepsonse> 
    //334 more of above
    So there are 100 + 100 + 100 + 35 = 335 items actually getting handled, which is 10 more than what are actually present in the inbox. 
    Also notice that Delete SOAP packets are queued till end. They are not dispatched in burst.
    First thing I realize dispatching SOAP packets in burst of 100s is EWS Managed API behavior. I guess there must be traffic reason behind it and there must be some configuration setting to tweak it.
    Q1. How can we change this count of 100?
    I inferred that there are some overlaps in fetching of mails.
    So I copy pasted SOAP Traces for first two of
    <m:GetItem>100 items</m:GetItem>
    in two different files, and compared them in text comparer. I realised that some mails that are at the end of the first 100s were reappearing at the beginning of 2nd 100: 
    This is the pattern in many test runs.
    Due to this these overlapping mails, these mails are getting processed twice. Also the attempt to second time delete them was throwing exception : The specified object was not found in the store.
    So I guess there is time delay in delete mail API call and mails actually getting deleted, between which they are getting refetched.
    Q2. How can I handle this to avoid redundant processing of mails and unnecessary exceptions.

    I am polling Exchange Server to fetch all the mails left in the Inbox and then fetching them, processing them and finally moving them to the deleted folder. My procedure takes following form of EWS Managed API calls:
    1 itemResults = service.FindItems(WellKnownFolderName.Inbox, itemView);
    2 //some code...
    3 service.LoadPropertiesForItems(itemResults.Items, itItemPropSet);
    4 //some code...
    5 foreach(Item item in itemResults)
    6 {
    7 //process item
    8 item.Delete(DeleteMode.MoveToDeletedItems);
    9 }
    To test this code I flooded the inbox with 5000 mails, 5 threads flooding 1000 mails each at the interval of 4ms.
    After test run, I realized some mails are getting processed multiple times.
    When I read the soap traces logged using TraceListener, I realized that when there are more than 100 mails in the inbox, there are more SOAP packets were dispatched in burst of 100s.
    Logically below set of SOAP Packets (let us call it "Set 1") should occur only once:
    <m:FindItem>...</m:FindItem> //generated by line 1
    <m:FindItemResponse>...</m:FindItemResponse> //generated by line 1
    <m:GetItem>...</m:GetItem> //generated by line 3
    <m:GetItemResponse>...</m:GetItemResponse> //generated by line 3
    followed x number of Delete SOAP packets for x number of mails in the Inbox
    <m:DeleteItem>...</m:DeleteItem> //generated by line 8
    <m:DeleteItemRepsonse>...</m:DeleteItemRepsonse> //generated by line 8
    However if there are say 325 mails in the inbox, then there first occurs 4 occurences of Set 1 followed by Delete SOAP packest as follows:
    //1st occurence
    <m:FindItem>100 items</m:FindItem>
    <m:FindItemResponse>100 items</m:FindItemResponse>
    <m:GetItem>100 items</m:GetItem>
    <m:GetItemResponse>35 items</m:GetItemResponse>
    //2nd occurence
    <m:FindItem>100 items</m:FindItem>
    <m:FindItemResponse>100 items</m:FindItemResponse>
    <m:GetItem>100 items</m:GetItem>
    <m:GetItemResponse>35 items</m:GetItemResponse>
    //3rd occurence
    <m:FindItem>100 items</m:FindItem>
    <m:FindItemResponse>100 items</m:FindItemResponse>
    <m:GetItem>100 items</m:GetItem>
    <m:GetItemResponse>100 items</m:GetItemResponse>
    //4th occurence
    <m:FindItem>35 items</m:FindItem>
    <m:FindItemResponse>35 items</m:FindItemResponse>
    <m:GetItem>35 items</m:GetItem>
    <m:GetItemResponse>35 items</m:GetItemResponse> //****followed by 335 occurences of the Delete SOAP packets****<m:DeleteItem>...</m:DeleteItem>  
    <m:DeleteItemRepsonse>...</m:DeleteItemRepsonse> 
    //334 more of above
    So there are 100 + 100 + 100 + 35 = 335 items actually getting handled, which is 10 more than what are actually present in the inbox. 
    Also notice that Delete SOAP packets are queued till end. They are not dispatched in burst.
    First thing I realize dispatching SOAP packets in burst of 100s is EWS Managed API behavior. I guess there must be traffic reason behind it and there must be some configuration setting to tweak it.
    Q1. How can we change this count of 100?
    I inferred that there are some overlaps in fetching of mails.
    So I copy pasted SOAP Traces for first two of
    <m:GetItem>100 items</m:GetItem>
    in two different files, and compared them in text comparer. I realised that some mails that are at the end of the first 100s were reappearing at the beginning of 2nd 100: 
    This is the pattern in many test runs.
    Due to this these overlapping mails, these mails are getting processed twice. Also the attempt to second time delete them was throwing exception : The specified object was not found in the store.
    So I guess there is time delay in delete mail API call and mails actually getting deleted, between which they are getting refetched.
    Q2. How can I handle this to avoid redundant processing of mails and unnecessary exceptions.

Maybe you are looking for

  • ITunes version 11.0.2.26 doesn't install

    The latest update to iTunes doesn't install correctly.  After the update ran, I received error -42404 and couldn't connect to my AppleTV.  I followed the instructions and removed and reinstalled.  Now I get an error that AVFoundationCF.dll cannot be

  • Open Directory Broken After 10.8.4 Update

    Running Mountain Lion Server.app under Mac OS X Server 10.8.4 on a Mac Mini Server. After updating, Server.app can't read any of its settings. I can't view logs or certificates. I can't view users or groups. I can't enter Time Machine Backup. The Con

  • Report server is open always

    I have the following problem: once it leaves the report by the printer, is not closed in automatica form the Report Server anybody could say like solving this problem to me?

  • Your phone could not be activared because the activation server is temporarily unavilable

    your phone could not be activared because the activation server is temporarily unavilable

  • Database With Video

    How Can I Make Database To Video And Emage? My Project Is Takeing pictures And Video of the body scan To The patients And Make Record To Evry patient In My Database Plzzzz Help Me To Do That 1- How Can I Take This pictures And Video From The body sca