Using AWM XML API

We have the following questions related to cube creation in MOLP based on metadata and data in relational tables. Please help us.
Is it optimal to use Oracle OLAP Analytic Workspace Java API for creation of the analytic workspace and the cube based on the metadata in the relational tables?
Is there any PL-SQL equivalent for these APIs? Can we use CWM2 PL-SQL APIs for these? If we use the CWM2 APIs will we miss some of the optimizations on the storage space, aggregations, calculations etc, which are features of 10g?
In order to fetch the data of the measures and dimensions one option is to create relational view on top of the data tables and create mapping. In this case what are the optimizations done by the maintenance task? . But if the user wants to create a new dimension or measure, it is not going to be easy. So we would like to know what is an alternative to this mapping? Can we programmatically load the data to the cube?

Hi Vinod -
I recommend that you use the OLAP AW Java API for the creation of AWs. You can find the API documentation here: http://www.oracle.com/technology/products/bi/olap/OLAP_AW_API_10.2.0.2_Beta.zip.
The API provides everything required to:
1. create dimensions, hierarchies, levels, measures, calculations, folders, etc. - including specifying detail storage parameters for objects (like compression, partitioning, etc.)
2. map these objects to their sources (e.g. columns in lookup tables, fact tables or transaction tables)
3. maintain the AW (e.g. load data from the tables - incremental or full, aggregate the data, run forecasts, run allocations, etc.)
The API documentation does point to examples which show how to perform each of these steps.
The definition of everything described above - including the processes - can be saved as a XML definition. These XML definitions can be leveraged as part of a PL/SQL process for performing these tasks. There is no equivalent PL/SQL API to the Java API aside from leveraging the XML definitions.
I'm not sure I quite understand your final questions. Once the data has been loaded into the AW, the data is stored in an optimal way for OLAP analyses. The speed in which the loading process takes place may well depend on how quickly the source data can be queried - but this should only effect the loading of the leaf node data and the hierarchies. It will not impact the data aggregation stage of the build process.

Similar Messages

  • How to use HTTP / XML API

    Hi,
    I have to communicate with a product . The product has HTTP / XML API . The API has some functions. The examples in the product docs ,
    If you send a HTTP request to URL of the product with function name and some input parameters , It returns XML response , this response corresponds to some DTD.
    Now from java Application I have to send some HTTP requests and do some things according to obtained responses.Some times I have to parse the XML responses returned to show the user some results.
    How can I do this in Java , I have not worked with this kind of requirements.
    Thanks,
    pandu

    I wanted to do both , from the java Application to server.
    1.Send HTTP (post) request
    2.Parse the returned XML response from the server.

  • Use BDB XML API on MS Visual C++ compiler problem

    Excuse me
    I install BDB XML 2.3.8, and I use MS Visual C++ 6 compiler.
    In VC6, I add fellow path setting ~
    include files:
    C:\Program Files\Oracle\Berkeley DB XML 2.3.8\include
                                       C:\Program Files\Oracle\Berkeley DB XML 2.3.8\bin\debug
                                       C:\Program Files\Oracle\Berkeley DB XML 2.3.8\include\dbxml
    Library files:
    C:\Program Files\Oracle\Berkeley DB XML 2.3.8\lib
                                       C:\Program Files\Oracle\Berkeley DB XML 2.3.8\bin\debug
    Source files:     
    C:\Program Files\Oracle\Berkeley DB XML 2.3.8\bin
                                       C:\Program Files\Oracle\Berkeley DB XML 2.3.8\bin\debug
    Executable files:     
    C:\Program Files\Oracle\Berkeley DB XML 2.3.8\bin
                                                 C:\Program Files\Oracle\Berkeley DB XML 2.3.8\bin\debug
    and in Link setting, add 「 libdb45.lib libdbxml23.lib xerces-c_2.lib xqilla10.lib 」
    I write some test code:
    #include "stdafx.h"
    #include "DbXml.hpp"
    using namespace DbXml;
    int main(int argc, char* argv[])
         printf("= BDBtest Programe =\n");
         XmlManager myManager;
    try {
                   XmlContainer myContainer = myManager.createContainer("test.dbxml");
                   printf(" finish test.dbxml create \n");
              } catch (DbXml::XmlException &xe) {
                   // Error handling goes here
                   printf("!! error 1 !!\n");
                   printf ("%s\n", xe.what());
              } catch (std::exception &e) {
                   // Error handling goes here
                   printf("!! error 2 !!\n");
                   printf ("%s\n", e.what());
         return 0;
    but when I executable program, the screen print:
    !! error 2 !!
    bad allocationIf I have setting wrong, or missing some setting??

    And when I run in debug mode, it produce follow information..
    Loaded 'ntdll.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
    Loaded 'C:\Documents and Settings\wang\compiler\VC6\BDBtest\Debug\libdbxml23.dll', no matching symbolic information found.
    Loaded 'C:\Documents and Settings\wang\compiler\VC6\BDBtest\Debug\libdb45.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\ws2_32.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\ws2help.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\msvcr71.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\msvcp71.dll', no matching symbolic information found.
    Loaded 'C:\Program Files\Oracle\Berkeley DB XML 2.3.8\bin\xerces-c_2_7.dll', no matching symbolic information found.
    Loaded 'C:\Program Files\Oracle\Berkeley DB XML 2.3.8\bin\xqilla10.dll', no matching symbolic information found.
    HEAP[BDBtest.exe]: Invalid allocation size - CCCCCCD0 (exceeded 7ffdefff)
    HEAP[BDBtest.exe]: Invalid allocation size - CCCCCCCD (exceeded 7ffdefff)
    First-chance exception in BDBtest.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
    First-chance exception in BDBtest.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
    First-chance exception in BDBtest.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
    The program 'C:\Documents and Settings\wang\compiler\VC6\BDBtest\Debug\BDBtest.exe' has exited with code 0 (0x0).

  • Collecting plug-in metrics using XML API from Perl?

    Hi all,
    We are building a plug-in to retrieve metrics over an XML API.
    The QueryDescriptor of each metric will do a call to the Agent's Perl script. This Perl script will then do the actual XML API call, to retrieve the metric's values.
    Does anyone have experience with this? We needed to install a few extra Perl modules from CPAN, to provide the high-level HTTP(s) communication. These modules are not in the Perl that’s used by the Oracle Agent, so I’m not sure if this is going to work when called by the Agent.
    Did any of you use an XML API? Did you make this a prereq (installing modules) or is there an alternative solution?
    Many thanks,
    Ed

    Thank you, Ash. I read the example quickly, and found (quoted)from the paper - "the Applet was designed as compact as possible in order to limit download time and to fit in a 50K jar file. The JAXP XML Parsing API package, including the SAX parser from SUN Project X (approximately 150K) is one of the smallest implementations we were able to use. It is, however, still too large to be downloaded for each session; therefore, it was installed locally to keep the download time as low as possible."
    However, in my current design, I can not ask each customer to install the JAXP API locally, so it seems that the API needs to be downloaded during the run time (am I right?). So the same problem will occur as that stated in the paper - the jar file is still too large to be downloaded for each session. Is there any lightweight API to solve it?
    BTW, as you might see, the paper was published in year 2000, I don't think the JDK plugin supported XML at that time, so it is quite reasonable to download JAXP API in that paper. But my current question is - as I posted in my previous message - whether the newest JDK plugin (JDK1.4) support Java XML API?
    Many many thanks.
    - Sun

  • Web Target & XML API use

    Hello there,
    I am going to make process to create Lun on NetApp Simulator.
    I had NetApp simulator, NetApp SDK server up n running on my server ...i made web target as my SDK API server and my TEO also on same server..http://172.21.***.**:8088  << this is my target connection.
    1> i want to check : does my connection work succefully or not for that i created process "web HTTP request" but that was not hit my target...
    so, please anybody have information for creating web http request process..please share with me...i appreciate you....
    2> I also have one more question regrding to using XML API in the process....As i said i also want to make process to crete Lun on my simulator...
    so..does anybody have information that how to use this XML API in our process...
    I really appreciate for help...
    Regards,
    Krupesh Patel

    Hello Christopher.......
    Now this time i just want to do simple web service target ...i want to use web service execute activity with wsdl use...
    Here ..i created web target as http://www.weather.gov/
    My process is to execute the web service ..this is my Relative url : http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl in for web service execute activity as i show in the image..
    Now..i want to select method by veryfing the url but i didn't get success....and got error...i want to execute this service on the target and want weather according to zip code i get from method...
    please help...appreciate you for information....
    Here is that image :

  • Use of XML

    I have a Oracle->Web system. The Oracle database interacts with other Oracle databases and non-Oracle systems. At present the exchange of data is in simple text format. How can XML be applied to this enviornment?

    As DrClap implied, you must be more specific with your intent.
    If you simply want to create an XML Doc from data queried from Oracle ( or any database ) create an XML Schema for the data gathered from your query. Use som XML API to create a new XML Document and populate it with the data.

  • XML API access to the chat pod?

    Is it possible to access the contents of the chat pod, in
    Connect Professional, using the XML API? What I want to do is clear
    the contents of the pod programmatically.
    I've tried drilling down through the SCO ID's of my test
    meetings, but I don't see anything below the meeting level. In
    other words there doen't seem to be a SCO for the individual pods.
    Thanks Eric

    Bummer. I suppose there's no way to tie into the stream
    between the different meeting clients either? What I mean is that
    if I'm the moderator of a meeting and I clear the chat through my
    pod then all the other chat pods (for the guests) are cleared as
    well. Any way to get at the functionality outside of the XML API?
    The reason I ask is that I'm trying to automate the process
    for a customer that uses persistent meetings. The problem is they
    don't want the chat text from the previous session to show up in
    the next session, and quite often the moderator forgets to clear it
    out before they exit the meeting.
    Thanks
    Eric

  • How to apply XSLT to XML file while importing XML data using XSU plsql API

    I need to load XML file with nested repeating elements into Oracle tables and I am using XSU PLSQL API utility package dbms_xmlSave.insertXML. Can use XMLGen package also!!
    I found out through documentation that I need to have XML file with ROWSET/ROW tags around the elements. As I have no control of XML file coming from external source, so I wish to apply XSLT to XML. I found setXSLT/setStylesheet procedures but it's not working as expected.
    Can you help me with some sample code for the purpose.
    Thanks

    I'm new at XML and XSL as well, but maybe the following code I built can help:
    CREATE OR REPLACE PACKAGE Xml_Pkg AS
    /* this record and table type are used for the transformTags procedure */
    TYPE TagTransform_t IS RECORD (
    old_tag VARCHAR2(255),
    new_tag VARCHAR2(255) );
    TYPE TagTransformList_t IS TABLE OF TagTransform_t INDEX BY BINARY_INTEGER;
    /* use DBMS_OUTPUT to print out a CLOB */
    PROCEDURE printClobOut(p_clob IN OUT NOCOPY CLOB);
    /* using a list of old/new tags, transform all old into new in XML2 */
    PROCEDURE transformTags(
    p_List TagTransformList_t,
    p_XML1 IN OUT NOCOPY CLOB,
    p_XML2 IN OUT NOCOPY CLOB);
    END Xml_Pkg;
    CREATE OR REPLACE PACKAGE BODY Xml_Pkg AS
    /* print a CLOB using newlines */
    PROCEDURE printClobOut(p_clob IN OUT NOCOPY CLOB) IS
    buffer_overflow EXCEPTION;
    PRAGMA EXCEPTION_INIT(buffer_overflow,-20000);
    l_offset NUMBER;
    l_len NUMBER;
    l_o_buf VARCHAR2(255);
    l_amount NUMBER; --}
    l_f_amt NUMBER := 0; --}To hold the amount of data
    l_f_amt2 NUMBER; --}to be read or that has been
    l_amt2 NUMBER := -1; --}read
    l_offset2 NUMBER;
    l_amt3 NUMBER;
    l_chk NUMBER := 255;
    BEGIN
    l_len := DBMS_LOB.GETLENGTH(p_clob);
    l_offset := 1;
    WHILE l_len > 0 LOOP
    l_amount := DBMS_LOB.INSTR(p_clob,CHR(10),l_offset,1);
    --Amount returned is the count from the start of the file,
    --not from the offset.
    IF l_amount = 0 THEN
    --No more linefeeds so need to read remaining data.
    l_amount := l_len;
    l_amt2 := l_amount;
    ELSE
    l_f_amt2 := l_amount; --Store position of next LF
    l_amount := l_amount - l_f_amt; --Calc position from last LF
    l_f_amt := l_f_amt2; --Store position for next time
    l_amt2 := l_amount - 1; --Read up to but not the LF
    END IF;
    /* divide the read into 255 character chunks for dbms_output */
    IF l_amt2 != 0 THEN
    l_amt3 := l_amt2;
    l_offset2 := l_offset;
    WHILE l_amt3 > l_chk LOOP
    DBMS_LOB.READ(p_clob,l_chk,l_offset2,l_o_buf);
    DBMS_OUTPUT.PUT_LINE(l_o_buf);
    l_amt3 := l_amt3 - l_chk;
    l_offset2 := l_offset2 + l_chk;
    END LOOP;
    IF l_amt3 != 0 THEN
    DBMS_LOB.READ(p_clob,l_amt3,l_offset2,l_o_buf);
    DBMS_OUTPUT.PUT_LINE(l_o_buf);
    END IF;
    END IF;
    l_len := l_len - l_amount;
    l_offset := l_offset+l_amount;
    END LOOP;
    EXCEPTION
    WHEN buffer_overflow THEN
    RETURN;
    END printClobOut;
    /* shortcut "writeline" procedure for CLOB buffer writes */
    PROCEDURE wr(p_clob IN OUT NOCOPY CLOB, s VARCHAR2) IS
    BEGIN
    DBMS_LOB.WRITEAPPEND(p_clob,LENGTH(s)+1,s||CHR(10));
    END;
    /* the standard XSLT should include the identity template or the output XML will be malformed */
    PROCEDURE newXsltHeader(p_xsl IN OUT NOCOPY CLOB, p_identity_template BOOLEAN DEFAULT TRUE) IS
    BEGIN
    DBMS_LOB.TRIM(p_xsl,0);
    /* standard XSL header */
    wr(p_xsl,'<?xml version="1.0"?>');
    /* note that the namespace for the xsl is restricted to the w3 1999/XSL */
    wr(p_xsl,'<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">');
    IF p_identity_template THEN
    /* create identity template (transfers all "other" nodes) */
    wr(p_xsl,' <xsl:template match="node()">');
    wr(p_xsl,' <xsl:copy>');
    wr(p_xsl,' <xsl:apply-templates/>');
    wr(p_xsl,' </xsl:copy>');
    wr(p_xsl,' </xsl:template>');
    END IF;
    END newXsltHeader;
    PROCEDURE newXsltFooter(p_xsl IN OUT NOCOPY CLOB) IS
    BEGIN
    /* standard xsl footer */
    wr(p_xsl,'</xsl:stylesheet>');
    END newXsltFooter;
    /* using the stylesheet in p_xsl, transform p_XML1 into p_XML2 */
    PROCEDURE transformXML(p_xsl IN OUT NOCOPY CLOB, p_XML1 IN OUT NOCOPY CLOB, p_XML2 IN OUT NOCOPY CLOB) IS
    l_parser XMLPARSER.Parser;
    l_doc XMLDOM.DOMDocument;
    l_xsl_proc XSLPROCESSOR.Processor;
    l_xsl_ss XSLPROCESSOR.Stylesheet;
    BEGIN
    /* parse XSL CLOB */
    l_parser := XMLPARSER.newParser;
    BEGIN
    XMLPARSER.showWarnings(l_parser,TRUE);
    XMLPARSER.parseClob(l_parser,p_xsl);
    l_doc := XMLPARSER.getDocument(l_parser);
    XMLPARSER.freeParser(l_parser);
    EXCEPTION
    WHEN OTHERS THEN
    XMLPARSER.freeParser(l_parser);
    RAISE;
    END;
    /* get Stylesheet from DOMDOC */
    l_xsl_ss := XSLPROCESSOR.newStylesheet(l_doc,NULL);
    BEGIN
    /* parse XML1 CLOB */
    l_parser := XMLPARSER.newParser;
    BEGIN
    XMLPARSER.showWarnings(l_parser,TRUE);
    XMLPARSER.parseClob(l_parser,p_xml1);
    l_doc := XMLPARSER.getDocument(l_parser);
    XMLPARSER.freeParser(l_parser);
    EXCEPTION
    WHEN OTHERS THEN
    XMLPARSER.freeParser(l_parser);
    RAISE;
    END;
    /* process doc to XML2 */
    l_xsl_proc := XSLPROCESSOR.newProcessor;
    BEGIN
    XSLPROCESSOR.processXSL(l_xsl_proc, l_xsl_ss, l_doc, p_xml2);
    XSLPROCESSOR.freeProcessor(l_xsl_proc);
    EXCEPTION
    WHEN OTHERS THEN
    XSLPROCESSOR.freeProcessor(l_xsl_proc);
    RAISE;
    END;
    XSLPROCESSOR.freeStylesheet(l_xsl_ss);
    EXCEPTION
    WHEN OTHERS THEN
    XSLPROCESSOR.freeStylesheet(l_xsl_ss);
    RAISE;
    END;
    END transformXML;
    /* transform XML1 into XML2 using list p_List of old/new tags */
    PROCEDURE transformTags(p_List TagTransformList_t, p_XML1 IN OUT NOCOPY CLOB, p_XML2 IN OUT NOCOPY CLOB) IS
    l_xsl CLOB;
    BEGIN
    /* create XSL CLOB */
    DBMS_LOB.CREATETEMPORARY(l_xsl,TRUE);
    /* create standard header with identity template */
    newXsltHeader(l_xsl,TRUE);
    /* create one template for each node translation */
    FOR i IN 1..p_List.COUNT LOOP
    wr(l_xsl,' <xsl:template match="'||p_List(i).old_tag||'">');
    wr(l_xsl,' <'||p_List(i).new_tag||'><xsl:apply-templates/></'||p_List(i).new_tag||'>');
    wr(l_xsl,' </xsl:template>');
    END LOOP;
    /* create standard footer */
    newXsltFooter(l_xsl);
    -- dbms_output.put_line('l_xsl:');
    -- dbms_output.put_line('--------------------');
    -- printClobOut(l_xsl);
    -- dbms_output.put_line('--------------------');
    transformXML(l_xsl, p_XML1, p_XML2);
    DBMS_LOB.FREETEMPORARY(l_xsl);
    /* -- unit testing
    set serveroutput on size 100000
    Declare
    queryContext DBMS_XMLQUERY.ctxType;
    xList XML_PKG.TagTransformList_t;
    xmlCLOB CLOB;
    xmlCLOB2 CLOB;
    Begin
    DBMS_LOB.CREATETEMPORARY(xmlCLOB,true);
    DBMS_LOB.CREATETEMPORARY(xmlCLOB2,true);
    xList(1).old_tag := 'A';
    xList(1).new_tag := 'MyTag1';
    xList(2).old_tag := 'B';
    xList(2).new_tag := 'MyTag2';
    queryContext := DBMS_XMLQUERY.newContext('Select * from t');
    xmlCLOB := DBMS_XMLQUERY.getXML(queryContext);
    DBMS_XMLQuery.closeContext(queryContext);
    dbms_output.put_line('xmlCLOB:');
    dbms_output.put_line('--------------------');
    XML_PKG.printClobOut(xmlCLOB);
    dbms_output.put_line('--------------------');
    xml_pkg.transformTags(xList,xmlCLOB,xmlCLOB2);
    dbms_output.put_line('xml2CLOB:');
    dbms_output.put_line('--------------------');
    XML_PKG.printClobOut(xmlCLOB2);
    dbms_output.put_line('--------------------');
    DBMS_LOB.FREETEMPORARY(xmlCLOB);
    DBMS_LOB.FREETEMPORARY(xmlCLOB2);
    End;
    END transformTags;
    END Xml_Pkg;

  • [METASOLV XML AP]devolop JAVA client using XML API for metasolv application

    Hi All,
    I am new in this group, and I need to help me to develop a java client to communicate with metasolv application using XML API.
    I read "XML API Developer’s Reference" document, but I still not understand how can I setup the cllient.
    I still need:
    1- What API needed(jar files) I must use to build the client
    2- A sample of source code using java.
    3- detailed guide to communicate with metasolv application using XML API.
    Thanks&Best Regards
    RADOUANE Mohamed

    any help please!!!!

  • Can not use XML API from Sun (JAXP)

    Some of my EJBs and Servlets uses XML API from Sun (JAXP) but after deployment the J2EE Container uses its own XML engine (Oracle XML Parser....) instead.
    I try to add JAXP library to my deployment file and test again but this problem still occurred.
    My question is how to add my libraries to J2EE Container and these libraries can be shared by any applications.
    Regards,
    Narong

    Please post this in the misc or xml newsgroup.
    vipuld shah wrote:
    i have an application which is running through javaWebStart
    if u start the application first time(through clicking on
    link of .jnlp file), it will download necessary .jar files
    & it will store those files in javaWebStart's cache.
    when u will visit second time, it will check files in cache
    with the files in server, if both are same, then it will not
    download but will use from its cache.
    it works fine for .jar files, but is it possible for some .xml
    files which are changing very rarely.--
    Rajesh Mirchandani
    Developer Relations Engineer
    BEA Support

  • How to create new XML file using retreived XML content by using SAX API?

    hi all,
    * How to create new XML file using retreived XML content by using SAX ?
    * I have tried my level best, but output is coming invalid format, my code is follows,
    XMLFileParser.java class :-
    import java.io.StringReader;
    import java.io.StringWriter;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMResult;
    import javax.xml.transform.sax.SAXSource;
    import javax.xml.transform.sax.SAXTransformerFactory;
    import javax.xml.transform.sax.TransformerHandler;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.XMLFilterImpl;
    public class PdfParser extends XMLFilterImpl {
        private TransformerHandler handler;
        Document meta_data;
        private StringWriter meta_data_text = new StringWriter();
        public void startDocument() throws SAXException {
        void startValidation() throws SAXException {
            StreamResult streamResult = new StreamResult(meta_data_text);
            SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
            try
                handler = factory.newTransformerHandler();
                Transformer transformer = handler.getTransformer();
                transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                handler.setResult(streamResult);
                handler.startDocument();
            catch (TransformerConfigurationException tce)
                System.out.println("Error during the parse :"+ tce.getMessageAndLocation());
            super.startDocument();
        public void startElement(String namespaceURI, String localName,
                String qualifiedName, Attributes atts) throws SAXException {
            handler.startElement(namespaceURI, localName, qualifiedName, atts);
            super.startElement(namespaceURI, localName, qualifiedName, atts);
        public void characters(char[] text, int start, int length)
                throws SAXException {
            handler.characters(text, start, length);
            super.characters(text, start, length);
        public void endElement(String namespaceURI, String localName,
                String qualifiedName) throws SAXException {
            super.endElement("", localName, qualifiedName);
            handler.endElement("", localName, qualifiedName);
        public void endDocument() throws SAXException {
        void endValidation() throws SAXException {
            handler.endDocument();
            try {
                TransformerFactory transfactory = TransformerFactory.newInstance();
                Transformer trans = transfactory.newTransformer();
                SAXSource sax_source = new SAXSource(new InputSource(new StringReader(meta_data_text.toString())));
                DOMResult dom_result = new DOMResult();
                trans.transform(sax_source, dom_result);
                meta_data = (Document) dom_result.getNode();
                System.out.println(meta_data_text);
            catch (TransformerConfigurationException tce) {
                System.out.println("Error occurs during the parse :"+ tce.getMessageAndLocation());
            catch (TransformerException te) {
                System.out.println("Error in result transformation :"+ te.getMessageAndLocation());
    } CreateXMLFile.java class :-
    Sax.startDocument();
    Sax.startValidation();
    Sax.startElement("", "pdf", "pdf", new AttributesImpl());
    Sax.startElement("", "basic-metadata", "basic-metadata", new AttributesImpl());          
    String xmp_str = new String(meta_data.getByteArray(),"UTF8");
    char[] xmp_arr = xmp_str.toCharArray();
    Sax.characters(xmp_arr, 0, xmp_arr.length);
    Sax.endElement("", "pdf", "pdf");
    Sax.endValidation();
    Sax.endDocument();
    Sax.endElement("", "basic-metadata", "basic-metadata");* In CreateXMLFile.java
    class, I have retreived the xml content in the meta_data object, after that i have converted into character array and this will be sends to SAX
    * In this case , the XML file created successfully but the retreived XML content added as an text in between basic-metadata Element, that is, retreived XML content
    is not an XML type text, it just an Normal text Why that ?
    * Please help me what is the problem in my code?
    Cheers,
    JavaImran

    Sax.startDocument();
    Sax.startValidation();
    Sax.startElement("", "pdf", "pdf", new AttributesImpl());
    Sax.startElement("", "basic-metadata", "basic-metadata", new AttributesImpl());          
    String xmp_str = new String(meta_data.getByteArray(),"UTF8");
    char[] xmp_arr = xmp_str.toCharArray();
    Sax.characters(xmp_arr, 0, xmp_arr.length);
    </code><code>Sax.endElement("", "basic-metadata", "basic-metadata");</code>
    <code class="jive-code jive-java">Sax.endElement("", "pdf", "pdf");
    Sax.endValidation();
    Sax.endDocument();     
    * I HAVE CHANGED MY AS PER YOUR SUGGESTION, NOW SAME RESULT HAS COMING.
    * I AM NOT ABLE TO GET THE EXACT OUTPUT.,WHY THAT ?
    Thanks,
    JavaImran{code}

  • [E2010][EWS-XML][JAVA]How to get the properties of meeting rooms in Exchange 2010 using EWS Java API

    When you look at meeting room properties in Outlook 2010, you can see 'City', 'Country/Region' and 'Department' information.
    Is there any way to get this information using EWS Java API? 

    Hi Glen,
    I am able to understand what u have said, but do not know how to implement it with meeting rooms....
    If i am implementing
    "Get all appointments between startDate and endDate in the specified folder, including recurring meeting occurrences" in ews-java-api, as you have mentioned above, i am able to get only my appointments from the start date to end date , as i
    have given my email id and password, how to get my organization meeting room details, booked or not.
    static ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
    public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
    ExchangeCredentials credentials = new WebCredentials("[email protected]", "zzzz");
    service.setCredentials(credentials);
    try {
    System.out.println("Check");
    service.autodiscoverUrl("[email protected]",new RedirectionUrlCallback());
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    NameResolutionCollection nameResolutions = service.resolveName("SDB1",ResolveNameSearchLocation.DirectoryOnly, true);
    System.out.println("nameResolutions==="+nameResolutions.getCount());
    for(NameResolution nameResolution : nameResolutions)
    System.out.println("NAME==="+nameResolution.getContact().getDisplayName());
    The above code gives me the output like, the meeting room in my organization with word SDB1 are
    Output:
    nameResolutions===2
    NAME===SDB1- TELCON - 1
    NAME===SDB1-TELCON - 2
     for. eg. I need to know today at what are the appointments in the room SDB1-TELCON2 and who all have booked the room.
    I do not know how to implement for the meeting room can you please help me how to give it.
    Thanks in advance.

  • Error while creating AW using AWM

    I am using AWM version 10.2.0.3.0, Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod.
    Using the user apps when trying to create an AW using AWM. Schema->apps-> Analytic Workspace -> Create Analytic Workspace
    I get an error
    oracle.express.ExpressServerException
    java.sql.SQLException: ORA-33292: insufficient permissions to access analytic workspace SYS.AWXML using the specified access mode.
    ORA-06512: at "SYS.GENCONNECTIONINTERFACE", line 70
    ORA-06512: at line 1
    what permission should I set get this working?

    Not a good idea to grant OLAP_DBA role as this can cause a lot or problems, it is about the same as granting DBA to a user but when you connect an OLAP query tool the schema you may get additional problems.
    In terms of the original system error it does sound as if you do not have sufficient privileges to create an AW. Hence, Ragnar's suggestion to use assign OLAP_USER is a great way to start.
    Also as the SYS user try issuing GRANT SELECT TO PUBLIC on SYS.AW$XML. It could be your OLAP installation is somehow incorrectly configured?
    I am assuming you have applied the 10.2.0.3 patchset (all the steps - the installation via the Universal Installer and the post installation scripts) and applied the 10.2.0.3A patchset?
    Keith Laker
    Oracle EMEA Consulting
    BI Blog: http://oraclebi.blogspot.com/
    DM Blog: http://oracledmt.blogspot.com/
    BI on Oracle: http://www.oracle.com/bi/
    BI on OTN: http://www.oracle.com/technology/products/bi/
    BI Samples: http://www.oracle.com/technology/products/bi/samples/

  • Getting NoSuchElementException while using CRMOD Administrative API

    I am working on Administrative Service API for copy configuration from one CRM on Demand instance to another (i.e. from staging to production).
    As I have downloaded one of the Role Management (RoleService.wsdl) and created client for the same, for connection (logon) I am using end point https://secure-vmsomxmla.crmondemand.com/Services/cte/RoleService of RoleService.wsdl
    But getting following Exception
    java.util.NoSuchElementException
    at java.util.StringTokenizer.nextToken(Unknown Source)
    at crmondemand.ws.odesabs.accessprofile.clientsample.ClientSample.getSessionId(ClientSample.java:170)
    at crmondemand.ws.odesabs.accessprofile.clientsample.ClientSample.main(ClientSample.java:56)
    But if I use end point “https://secure-msomxmla.crmondemand.com/Services/Integration”
    Then it gets connected with CRMOD, but again while using Administrative Service API method roleRead() such as
    RoleReadInput roleReadInput=new RoleReadInput();
    RoleQuery roleQuery=new RoleQuery();
    RoleTranslationQuery roleTranslationQuery1=new RoleTranslationQuery();
    roleTranslationQuery1.setRoleName(new Empty());
    List<RoleTranslationQuery> roleTranslation=newArrayList<RoleTranslationQuery> ();
    roleTranslation.add(roleTranslationQuery1);
    ListOfRoleTranslationQuery listOfRoleTranslationQuery=new ListOfRoleTranslationQuery();
    listOfRoleTranslationQuery.setRoleTranslation(roleTranslation);
    roleQuery.setListOfRoleTranslation(listOfRoleTranslationQuery);
    // roleQuery.setRoleName("");
    roleReadInput.setRole(roleQuery);
    RoleReadOutput roleReadOutput=port1.roleRead(roleReadInput);
    for roleRead() method getting following exception.
    javax.xml.ws.soap.SOAPFaultException: Missing <wsse:Security> in SOAP Header
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
    at $Proxy28.roleRead(Unknown Source)
    at crmondemand.ws.odesabs.role.clientsample.ClientSample.main(ClientSample.java:59)
    Caused by: org.apache.cxf.binding.soap.SoapFault: Missing <wsse:Security> in SOAP Header
    Code:
    package crmondemand.ws.odesabs.role.clientsample;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.StringTokenizer;
    import javax.xml.namespace.QName;
    import javax.xml.soap.SOAPElement;
    import javax.xml.soap.SOAPEnvelope;
    import javax.xml.soap.SOAPHeader;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.ws.BindingProvider;
    import javax.xml.ws.handler.MessageContext;
    import javax.xml.ws.handler.soap.SOAPMessageContext;
    import crmondemand.ws.odesabs.role.RoleReadInput;
    import crmondemand.ws.odesabs.role.RoleReadOutput;
    import crmondemand.ws.odesabs.role.RoleService;
    import crmondemand.ws.odesabs.role.RoleService_Service;
    import crmondemand.xml.role.query.Empty;
    import crmondemand.xml.role.query.ListOfRoleTranslationQuery;
    import crmondemand.xml.role.query.RoleQuery;
    import crmondemand.xml.role.query.RoleTranslationQuery;
    public class ClientSample {
         public static void main(String[] args) {
              System.out.println("***********************");
              System.out.println("Create Web Service Client...");
              RoleService_Service service1 = new RoleService_Service();
              RoleService port1 = service1.getRoleService();
              System.out.println("Create Web Service...");
              try {
                   String jsessionid_full = logon(
                             "https://secure-vmsomxmla.crmondemand.com/Services/Integration",
                             "INFORM77/[email protected]", "crmod123!");
                   String jsessionid = getSessionId(jsessionid_full);
                   Map<String, Object> req_ctx = ((BindingProvider) port1).getRequestContext();
                   Object obj = req_ctx.get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
                   String strEndPoint = obj + ";jsessionid=" + jsessionid;
                   req_ctx.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, strEndPoint);
                   Map<String, List<String>> headers = new HashMap<String, List<String>>();
                   headers.put(BindingProvider.USERNAME_PROPERTY, Collections.singletonList("INFORM77/[email protected]"));
                   headers.put(BindingProvider.PASSWORD_PROPERTY, Collections.singletonList("crmod123!"));
                   req_ctx.put(MessageContext.HTTP_REQUEST_HEADERS, headers);
                   System.out.println("Call Web Service Operation...");
                   RoleReadInput roleReadInput=new RoleReadInput();
                   RoleQuery roleQuery=new RoleQuery();
                   RoleTranslationQuery roleTranslationQuery1=new RoleTranslationQuery();
                   roleTranslationQuery1.setRoleName(new Empty());
                   List<RoleTranslationQuery> roleTranslation=new ArrayList<RoleTranslationQuery> ();
                   roleTranslation.add(roleTranslationQuery1);
                   ListOfRoleTranslationQuery listOfRoleTranslationQuery=new ListOfRoleTranslationQuery();
                   listOfRoleTranslationQuery.setRoleTranslation(roleTranslation);
                   roleQuery.setListOfRoleTranslation(listOfRoleTranslationQuery);
    //               roleQuery.setRoleName("");
                   roleReadInput.setRole(roleQuery);
                   RoleReadOutput roleReadOutput=port1.roleRead(roleReadInput);
                   System.out.println("roleReadOutput-"+roleReadOutput);
                   System.out.println("************End*************");
              /*     RoleReadAllOutput readOutput = new RoleReadAllOutput();
                   RoleReadAllInput readInput = new RoleReadAllInput();
                   List<RoleData> role = new ArrayList<RoleData>();
                   ListOfRoleData list = new ListOfRoleData();
                   RoleReadAllOutput out = port1.roleReadAll(readInput);*/
                   logoff("https://secure-vmsomxmla.crmondemand.com/Services/Integration",
                             jsessionid_full);
                   System.out.println("Logoff-----------------------");
                   System.out.println("Call Web Service Operation ENDSSSSSSSSSSS...");
              } catch (Exception e) {
                   e.printStackTrace();
         /*public boolean handleMessage(SOAPMessageContext context) {
              Boolean outboundProperty = (Boolean) context.get (MessageContext.MESSAGE_OUTBOUND_PROPERTY);
              SOAPMessage message =context.getMessage();
              if (outboundProperty.booleanValue()) {
              try {
                   SOAPEnvelope envelope = context.getMessage().getSOAPPart().getEnvelope();
                   SOAPHeader header = envelope.getHeader();
                   if (header == null ) {
                        header = envelope.addHeader();
                   SOAPElement security = header.addChildElement("Security", "wsse", WSSE_NAMESPACE);
                   SOAPElement usernameToken = security.addChildElement("UsernameToken", "wsse");
                   usernameToken.addAttribute(new QName("xmlns:wsu"), WSU_NAMESPACE);
                   SOAPElement username = usernameToken.addChildElement("Username", "wsse");
                   username.addTextNode(user);
                   SOAPElement password = usernameToken.addChildElement("Password", "wsse");
                   password.addTextNode(pass);
              catch (Exception e) {
                   e.printStackTrace();
              return true;
         private static String logon(String wsLocation, String userName,
                   String password) {
              String sessionString = "FAIL";
              try {
                   // create an HTTPS connection to the On Demand webservices
                   URL wsURL = new URL(wsLocation + "?command=login");
                   HttpURLConnection wsConnection = (HttpURLConnection) wsURL
                             .openConnection();
                   // we don't want any caching to occur
                   wsConnection.setUseCaches(false);
                   // we want to send data to the server
                   // wsConnection.setDoOutput(true);
                   // set some http headers to indicate the username and passwod we are
                   // using to logon
                   wsConnection.setRequestProperty("UserName", userName);
                   wsConnection.setRequestProperty("Password", password);
                   wsConnection.setRequestMethod("GET");
                   // see if we got a successful response
                   if (wsConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
                        // get the session id from the cookie setting
                        sessionString = getCookieFromHeaders(wsConnection);
              } catch (Exception e) {
                   e.printStackTrace();
                   System.out.println("Logon Exception generated :: " + e);
              System.out.println("Finish.......");
              return sessionString;
         private static void logoff(String wsLocation, String sessionCookie) {
              try {
                   // create an HTTPS connection to the On Demand webservices
                   URL wsURL = new URL(wsLocation + "?command=logoff");
                   HttpURLConnection wsConnection = (HttpURLConnection) wsURL
                             .openConnection();
                   // we don't want any caching to occur
                   wsConnection.setUseCaches(false);
                   // let it know which session we're logging off of
                   wsConnection.setRequestProperty("Cookie", sessionCookie);
                   wsConnection.setRequestMethod("GET");
                   // see if we got a successful response
                   if (wsConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
                        // if you care that a logoff was successful, do that code here
                        // showResponseHttpHeaders(wsConnection);
              } catch (Exception e) {
                   System.out.println("Logoff Exception generated :: " + e);
         private static String getCookieFromHeaders(HttpURLConnection wsConnection) {
              // debug code - display all the returned headers
              String headerName;
              String headerValue = "FAIL";
              for (int i = 0;; i++) {
                   headerName = wsConnection.getHeaderFieldKey(i);
                   if (headerName != null && headerName.equals("Set-Cookie")) {
                        // found the Set-Cookie header (code assumes only one cookie is
                        // being set)
                        headerValue = wsConnection.getHeaderField(i);
                        break;
              // return the header value (FAIL string for not found)
              return headerValue;
         private static String getSessionId(String cookie) {
              StringTokenizer st = new StringTokenizer(cookie, ";");
              String jsessionid = st.nextToken();
              st = new StringTokenizer(jsessionid, "=");
              st.nextToken();
              return st.nextToken();
    Please help me.
    Thanks,
    Jaysing
    Edited by: 883663 on Sep 7, 2011 10:07 PM

    Hi,
    Please check these links which discuss about the same error message:
    http://blogs.msdn.com/b/publicsector/archive/2005/10/19/482833.aspx
    http://blogs.msdn.com/b/distributedservices/archive/2009/11/10/wcf-calling-wcf-service-hosted-in-iis-on-the-same-machine-as-client-throws-an-authentication-error.aspx
    Regards,
    Azam Khan

  • Error while using LiveCycle java APIs with Http servlets:"Remote EJBObject lookup failed for ejb/Inv

    Hi all,
    When i try to run more than one servelt of the Quick Start samples that using Livecycle Java APIs and i get an error of "Remote EJBObject lookup failed for ejb/Invocation provider" from any servelt i run.
    I try some Quick samples which is not servelts (java class) and it works fine, which makes me sure that my connection properties is true.
    Environment:
    The LiveCycle is based on "Websphere v6.1", and i use "Eclipse Platform
    Version: 3.4.1".
    i install "tomcat 5.5.17" to test the servelts in developing time through Eclipse.(only for test in developing time not for deploy on )
    The Jars i added in the classpath:
    adobe-forms-client.jar
    adobe-livecycle-client.jar
    adobe-usermanager-client.jar
    adobe-utilities.jar
    ejb.jar
    j2ee.jar
    ecutlis.jar
    com.ibm.ws.admin.client_6.1.0.jar
    com.ibm.ws.webservices.thinclient_6.1.0.jar
    server.jar
    utlis.jar
    wsexception.jar
    My code is :
    Properties ConnectionProps = new Properties();
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "iiop://localhost:2809");
    ConnectionProps.setProperty ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_ EJB_PROTOCOL);
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE,ServiceClientFa ctoryProperties.DSC_WEBSPHERE_SERVER_TYPE);
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "Administrator");
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
    ConnectionProps.setProperty("java.naming.factory.initial", "com.ibm.ws.naming.util.WsnInitCtxFactory");
    //Create a ServiceClientFactory object
    ServiceClientFactory myFactory = ServiceClientFactory.createInstance(ConnectionProps);
    //Create a FormsServiceClient object
    FormsServiceClient formsClient = new FormsServiceClient(myFactory);
    //Get Form data to pass to the processFormSubmission method
    Document formData = new Document(req.getInputStream());
    //Set run-time options
    RenderOptionsSpec processSpec = new RenderOptionsSpec();
    processSpec.setLocale("en_US");
    //Invoke the processFormSubmission method
    FormsResult formOut = formsClient.processFormSubmission(formData,"CONTENT_TYPE=application/pdf&CONTENT_TYPE=app lication/vnd.adobe.xdp+xml&CONTENT_TYPE=text/xml", "",processSpec);
    List fileAttachments = formOut.getAttachments();
    Iterator iter = fileAttachments.iterator();
    int i = 0 ;
    while (iter.hasNext()) {
    Document file = (Document)iter.next();
    file.copyToFile(new File("C:\\Adobe\\tempFile"+i+".jp i++;
    short processState = formOut.getAction();
    ...... (To the end of the sample)
    My Error was:
    com.adobe.livecycle.formsservice.exception.ProcessFormSubmissionException: ALC-DSC-031-000: com.adobe.idp.dsc.net.DSCNamingException: Remote EJBObject lookup failed for ejb/Invocation provider
    at com.adobe.livecycle.formsservice.client.FormsServiceClient.processFormSubmission(FormsSer viceClient.java:416)
    at HandleData.doPost(HandleData.java:62)
    at HandleData.doGet(HandleData.java:31)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    a

    I assume here that your application is deployed on a different physical machine of where LCES is deployed and running.
    Do the following test:
    - Say that LCES is deployed on machine1 and your application is deployed on machine2. Ping machine1 from machine2 and note the ip address.
    - Ping machine1 from machine1 and note the ip address.
    The two pings should match.
    - Ping machine2 from machine1 and note the ip address.
    - Ping machine2 from machine2 and note the ip address.
    The two pings should match.
    Usually this kind of error would happen if your servers have internal and external ip addresses.

Maybe you are looking for

  • HT4759 how do i free up 4 gb of space so i can download mountain lion os x

    what is the best way to free up 4 gb of space to download mountain lion os?

  • Account assignment model

    Hi SAPians, I am executing account assignment model and the model is: 40 476000 10000 40 470000 5000 50 160001 * where 4xxxxx are my expense a/c's and 160001 is my liability a/c but instead of liability a/c if i give my cash a/c 113100 and trying to

  • Can't create sql file from File | New

    Creating a new sql file from File | New seems to be permanently disabled. The New Gallery dialog displays "To enable this option, you must select a project or a file within a project in the Application Navigator." This is obviously a hangover from JD

  • Exporting Table with CLOB Columns

    Hello All, I am trying to export table with clob columns with no luck. It errors saying EXP-00011TABLE do not exist. I can query the table and the owner is same as what i am exporting it from. Please let me know.

  • Error when using HFM Web Library HFMwApplications.dll in a 64 bits env

    Hi all, we are trying to create an object from HFMwManageApplications class in a 64 bits environment but we receive an error saying "ActiveX component can't create object...." Our code is: Set oClient = CreateObject("Hyperion.HFMwManageApplications")