Java object as input in XSL-FO processor?

I want to generate XSL-FO document from XSLT document and from an object in Java (for example ArrayList).
Can you tell me if there is a library with this functionality? I want to omit generating XML from ArrayList.
thanks
steensh

I've tried that option but for no avail.
<copy>
<from expression="ora:processXSLT('Transformation_1.xsl',bpws:getVariableData('inputVariable','payload'))"/>
<to variable="Invoke_CaseCreationWS_PL_createCase_InputVariable"
part="parameters"/>
</copy>

Similar Messages

  • Invoking a AXIS Web Service with a Java object as input argument

    Hi
    I've been trying to execute a bpel process that invokes a web service deployed through axis.
    This web service takes a java object as input argument as opposed to data types that are directly mapped to java types through the SOAP engine.
    I deployed and tested the service outside of BPEL using a test client class. Everything works well.
    When I try to configure the "Assign" and "Invoke" activities so that service can be invoked, I cannot see the data structure through the variable picker and I see the following message:
    "The element {urn:ComplexTypeWebService}TimeSheetBean is not know to the schema container. Perhaps a schema file that uses it needs to include or import its definition.There mat also be an XML schema issue (non resolvable schema) which prevents {urn:ComplexTypeWebService}TimeSheetBean from being seen by the schema processor."
    Is there any example that demonstrates how to invoke an axis web service in such scenario? What am I doing wrong?
    Please, let me know.

    The passing of Java objects in and out of a web service is NOT supported. variables must be xml documents defined by a XML schema. In my opinion, missing Java object and WSDL is not a good idea. -Edwin

  • Generating an XML representation of arbitrary Java objects

    Hi. Just for fun, I'm attempting to write some code which creates an XML representation of an arbitrary java object using reflection. The idea is that only properties with get/set methods should come through in the XML.
    Here is the code:
    package com.uhg.aarp.compas.persistence.common.xml;
    import java.io.IOException;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.FactoryConfigurationError;
    import javax.xml.parsers.ParserConfigurationException;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import org.w3c.dom.Document;
    import org.w3c.dom.DOMException;
    import org.w3c.dom.Node;
    import java.util.Stack;
    public class XMLDAO {
         public static String getXMLWithHeader(Object obj){
              return "<?xml version=\"0\"?>" + getXML(obj);
          * Returns an XML representation of an arbitrary object
         public static String getXML(Object obj){
              StringBuffer buffer = new StringBuffer();
              AccessorMethod[] accessorMethods = getAccessorMethods(obj);
              buffer.append("<" + obj.getClass().getName() + ">\n");
              //List
              if(obj instanceof List){
                   List objList = (List)obj;
                   Iterator iterator = objList.iterator();
                   while(iterator.hasNext()){                              
                        buffer.append(getXML(iterator.next()));
              else{
                   for(int i = 0; i < accessorMethods.length; i++){
                        Object fieldObj = null;
                        try{
                             fieldObj = accessorMethods.invoke();
                             1. Primitive Wrapper or String(base case)
                             if(fieldObj instanceof Integer || fieldObj instanceof Float || fieldObj instanceof Double
                                  || fieldObj instanceof Long || fieldObj instanceof String){
                                  buffer.append("<" + accessorMethods[i].getAccessorFieldName() + ">");
                                  buffer.append(accessorMethods[i].invoke());
                                  buffer.append("</" + accessorMethods[i].getAccessorFieldName() + ">\n");
                             else if(fieldObj instanceof Object[]){
                                  buffer.append("<" + accessorMethods[i].getAccessorFieldName() + ">\n");
                                  Object[] fieldArray = (Object[])fieldObj;
                                  for(int j = 0; j < fieldArray.length; j++)
                                       buffer.append(getXML(fieldArray[i]));
                                  buffer.append("</" + accessorMethods[i].getAccessorFieldName() + ">\n");
                        }catch(Exception e){
                             System.out.println("Couldn't invoke method: " + accessorMethods[i].getName());
              buffer.append("</" + obj.getClass().getName() + ">\n");
              return buffer.toString();
         * Returns the Object representation for the XML - used to rebuild Java objects
         * converted to XML by XMLDAO.getXML().
         public static Object getObject(String xmlString) throws ParserConfigurationException,
              SAXException, IOException{
              //the root element is the class name
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              DocumentBuilder builder = factory.newDocumentBuilder();
              Document document = builder.parse(xmlString);
              Stack objectStack = new Stack();
              return getObject(document);
         private static Object getObject(Node n){
              //every document is either an object or a bean property
              //all bean properties have values
              //no object has a value, it can only have bean properties
              //the base case occurs when the document has a value
              String nodeName = n.getNodeName();
              if(n.getNodeValue() == null){
                   System.out.println("node " + nodeName + " is an object");
              else{
                   System.out.println("node " + nodeName + " is a bean property");
              return null;
         * Returns all of the "getter" methods for the given object
         private static AccessorMethod[] getAccessorMethods(Object obj){
              Class theClass = obj.getClass();
              Method[] objMethods = theClass.getMethods();
              ArrayList methodList = new ArrayList();
              for(int i = 0; i < objMethods.length; i++){
                   try{
                        methodList.add(new AccessorMethod(obj, objMethods[i]));
                   }catch(IllegalArgumentException e){}
              return (AccessorMethod[])methodList.toArray(new AccessorMethod[methodList.size()]);
         * Invokes the specified "getter" method and returns the result as an Object
         private Object invokeAccessorMethod(Object obj, Method m) throws IllegalAccessException,
              InvocationTargetException{
              return m.invoke(obj, null);
    package com.uhg.aarp.compas.persistence.common.xml;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    * Represents an AccessorMethod (i.e. getField()) on an Object
    public class AccessorMethod{
         private Object obj;
         private Method m;
         private String accessorFieldName;
         * Constructor for AccessorMethod
         public AccessorMethod(Object obj, Method m) throws IllegalArgumentException{
              1. Method name starts with get
              2. Method name does not equal get
              3. Method takes no arguments
              4. Method return type is not void
              String methodName = m.getName();
              if(methodName.indexOf("get") != 0 || methodName.length() == 3 &&
                   m.getParameterTypes().length != 0 && m.getReturnType() != null){
                   throw new IllegalArgumentException("Not a valid getter method " + methodName);
              this.obj = obj;
              this.m = m;
              String tempName = m.getName().substring(3, m.getName().length());
              this.accessorFieldName = Character.toLowerCase(tempName.charAt(0)) + tempName.substring(1, tempName.length());
         public Object invoke() throws IllegalAccessException, InvocationTargetException{
              return m.invoke(obj, null);
         * Gets the m
         * @return Returns a Method
         public Method getM() {
              return m;
         * Sets the m
         * @param m The m to set
         public void setM(Method m) {
              this.m = m;
         * Gets the accessorFieldName
         * @return Returns a String
         public String getAccessorFieldName() {
              return accessorFieldName;
         * Sets the accessorFieldName
         * @param accessorFieldName The accessorFieldName to set
         public void setAccessorFieldName(String accessorFieldName) {
              this.accessorFieldName = accessorFieldName;
         * Gets the obj
         * @return Returns a Object
         public Object getObj() {
              return obj;
         * Sets the obj
         * @param obj The obj to set
         public void setObj(Object obj) {
              this.obj = obj;
         public String getName(){
              return this.m.getName();
    I'm having some trouble figuring out how to implement the XMLDAO.getObject(Node n) method. I was thinking of maintaining a Stack of the previous Objects as I traverse the DOM, but I think that might be unnecessary work. Basically I'm wondering how I determine what the last "object" is in the DOM from any given node. Anyone have any input?

    I think the end of my post got cut off:
    I'm having some trouble figuring out how to implement the XMLDAO.getObject(Node n) method. I was thinking of maintaining a Stack of the previous Objects as I traverse the DOM, but I think that might be unnecessary work. Basically I'm wondering how I determine what the last "object" is in the DOM from any given node. Anyone have any input?

  • Calling Web Service Proxy with Custom java Object as parameter

    I created a web service proxy from WSDL URL using JDeveloper 11g(.5 version)
    I need to call a webservice method which takes custom Java Object( Ex: ABC.java) as Input parameter. It creates the XSD java (ABC.java) file for that.
    @XmlElementRef(name = "abc", namespace = "http://impl.service.ns.test", type = JAXBElement.class)
    protected JAXBElement<ABC> abc;
    ABC.java has a property of type java.util.Set of a custom Java Object (Set<XYZ.class>)
    It doesn't create xsd file for XYZ.java.
    @XmlElementRef(name = "XYZ", namespace = "http://model.ns.test/xsd", type = JAXBElement.class)
    protected JAXBElement<Set> xyz;
    Please help me.

    The passing of Java objects in and out of a web service is NOT supported. variables must be xml documents defined by a XML schema. In my opinion, missing Java object and WSDL is not a good idea. -Edwin

  • How to parse XML to Java object... please help really stuck

    Thank you for reading this email...
    If I have a **DTD** like:
    <!ELEMENT person (name, age)>
    <!ATTLIST person
         id ID #REQUIRED
    >
    <!ELEMENT name ((family, given) | (given, family))>
    <!ELEMENT age (#PCDATA)>
    <!ELEMENT family (#PCDATA)>
    <!ELEMENT given (#PCDATA)>
    the **XML** like:
    <person id="a1">
    <name>
         <family> Yoshi </family>
         <given> Samurai </given>
    </name>
    <age> 21 </age>
    </person>
    **** Could you help me to write a simple parser to parse my DTD and XML to Java object, and how can I use those objects... sorry if the problem is too basic, I am a beginner and very stuck... I am very confuse with SAXParserFactory, SAXParser, ParserAdapter and DOM has its own Factory and Parser, so confuse...
    Thank you for your help, Yo

    Hi, Yo,
    Thank you very much for your help. And I Wish you are there...I'm. And I plan to stay - It's sunny and warm here in Honolulu and the waves are up :)
    A bit more question for dear people:
    In the notes, it's mainly focus on JAXB,
    1. Is that mean JAXB is most popular parser for
    parsing XML into Java object? With me, definitely. There are essentially 3 technologies that allow you to parse XML documents:
    1) "Callbacks" (e.g. SAX in JAXP): You write a class that overrides 3 methods that will be called i) whenever the parser encounters a start tag, ii) an end tag, or iii) PCDATA. Drawback: You have to figure out where the heck in the document hierarchy you are when such a callback happens, because the same method is called on EACH start tag and similarly for the end tag and the PCDATA. You have to create the objects and put them into your own data structure - it's very tedious, but you have complete control. (Well, more or less.)
    2) "Tree" (e.g. DOM in JAXP, or it's better cousin JDOM): You call a parser that in one swoop creates an entire hierarchy that corresponds to the XML document. You don't get called on each tag as with SAX, you just get the root of the resulting tree. Drawback: All the nodes in the tree have the same type! You probably want to know which tags are in the document, don't you? Well, you'll have to traverse the tree and ask each node: What tag do you represent? And what are your attributes? (You get only strings in response even though your attributes often represent numbers.) Unless you want to display the tree - that's a nice application, you can do it as a tree model for JTree -, or otherwise don't care about the individual tags, DOM is not of much help, because you have to keep track where in the tree you are while you traverse it.
    3) Enter JAXB (or Castor, or ...): You give it a grammar of the XML documents you want to parse, or "unmarshall" as the fashion dictates to call it. (Actually the name isn't that bad, because "parsing" focuses on the input text while "unmarshalling" focuses on the objects you get, even though I'd reason that it should be marshalling that converts into objects and unmarshalling that converts objects to something else, and not vice versa but that's just my opinion.) The JAXB compiler creates a bunch of source files each with one (or now more) class(es) (and now interfaces) that correspond to the elements/tags of your grammar. (Now "compiler" is a true jevel of a misnomer, try to explain to students that after they run the "compiler", they still need to compile the sources the "compiler" generated with the real Java compiler!). Ok, you've got these sources compiled. Now you call one single method, unmarshall() and as a result you get the root node of the hierarchy that corresponds to the XML document. Sounds like DOM, but it's much better - the objects in the resulting tree don't have all the same type, but their type depends on the tag they represent. E.g if there is the tag <ball-game> then there will be an object of type myPackage.BallGame in your data structure. It gets better, if there is <score> inside <ball-game> and you have an object ballGame (of type BallGame) that you can simply call ballGame.getScore() and you get an object of type myPackage.Score. In other words, the child tags become properties of the parent object. Even better, the attributes become properties, too, so as far as your program is concerned there is no difference whether the property value was originally a tag or an attribute. On top of that, you can tell in your schema that the property has an int value - or another primitive type (that's like that in 1.0, in the early release you'll have to do it in the additional xjs file). So this is a very natural way to explore the data structure of the XML document. Of course there are drawbacks, but they are minor: daunting complexity and, as a consequence, very steep learning curve, documentation that leaves much to reader's phantasy - read trial and error - (the user's guide is too simplicistic and the examples too primitive, e.g. they don't even tell you how to make a schema where a tag has only attributes) and reference manual that has ~200 pages full of technicalities and you have to look with magnifying glas for the really usefull stuff, huge number of generated classes, some of which you may not need at all (and in 1.0 the number has doubled because each class has an accompanying interface), etc., etc. But overall, all that pales compared to the drastically improved efficiency of the programmer's efforts, i.e. your time. The time you'll spend learning the intricacies is well spent, you'll learn it once and then it will shorten your programming time all the time you use it. It's like C and Java, Java is order of magnitude more complex, but you'd probably never be sorry you gave up C.
    Of course the above essay leaves out lots and lots of detail, but I think that it touches the most important points.
    A word about JAXB 1.0 vs. Early Release (EA) version. If you have time, definitively learn 1.0, they are quite different and the main advantage is that the schema combines all the info that you had to formulate in the DTD and in the xjs file when using the EA version. I suggested EA was because you had a DTD already, but in retrospect, you better start from scratch with 1.0. The concepts in 1.0 are here to stay and once your surmounted the learning curve, you'll be glad that you don't have to switch concepts.
    When parser job is done,
    what kind of Java Object we will get? (String,
    InputStream or ...)See above, typically it's an object whose type is defined as a class (and interface in 1.0) within the sources that JABX generates. Or it can be a String or one of the primitive types - you tell the "compiler" in the schema (xjs file in EA) what you want!
    2. If we want to use JAXB, we have to contain a
    XJS-file? Something like:In EA, yes. In 1.0 no - it's all in the schema.
    I am very new to XML, is there any simpler way to get
    around them? It has already take me 4 days to find a
    simple parser which give it XML and DTD, then return
    to me Java objects ... I mean if that kind of parser
    exists....It'll take you probably magnitude longer that that to get really familiar with JAXB, but believe me it's worth it. You'll save countless days if not weeks once you'll start developing serious software with it. How long did it take you to learn Java and it's main APIs? You'll either invest the time learning how to use the software others have written, or you invest it writing it yourself. I'll take the former any time. But it's only my opinion...
    Jan

  • The XML page cannot be displayed Cannot view XML input using XSL stylesheet

    Hi Oracle Gurus,
    I got this error ...once i have submitted request it shows warning ..I opened output it shows the below error...i cant understand how to resolve this error...Please help me...It is PL/SQ L STORED PROCEDURE CODE...
    The XML page cannot be displayed
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
    A semi colon character was expected. Error processing resource 'http://orappsus64.tsindia.in:8009/OA_CGI/FNDWRR.exe?temp_id...
    <CP_PROJECT>IT/Quintiles/J&J COGNOS</CP_PROJECT>
    ----------------------------^
    n-left:1em;text-indent:-2em"> <GL_MAIN_PERIOD>Jun-12</GL_MAIN_PERIOD>
    <TOTAL_REVENUE>4026.14</TOTAL_REVENUE>
    <GL_PERIOD>Jun-12</GL_PERIOD>
    </G_TOTAL_REVENUE_CAT>
    THIS IS MY LOG FILE
    [10/1/12 10:44:26 AM] [main] Starting GSF service with concurrent process id = 157635.
    [10/1/12 10:44:26 AM] [main] Initialization Parameters: oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
    [10/1/12 10:44:26 AM] [Thread-22] Service thread starting up.
    [10/1/12 10:44:26 AM] [Thread-23] Service thread starting up.
    [10/1/12 10:52:33 AM] [OPPServiceThread1] Post-processing request 1296337.
    [10/1/12 10:52:33 AM] [157635:RT1296337] Executing post-processing actions for request 1296337.
    [10/1/12 10:52:34 AM] [157635:RT1296337] Starting XML Publisher post-processing action.
    [10/1/12 10:52:34 AM] [157635:RT1296337]
    Template code: XXTGSCPR004
    Template app: PA
    Language: en
    Territory: US
    Output type: EXCEL
    [100112_105234216][][EXCEPTION] [DEBUG] ------- Preferences defined PreferenceStore -------
    [100112_105234216][][EXCEPTION] [DEBUG] ------- Environment variables stored in EnvironmentStore -------
    [100112_105234216][][EXCEPTION] [DEBUG] [FND_JDBC_IDLE_THRESHOLD.LOW]:[-1]
    [100112_105234216][][EXCEPTION] [DEBUG] [SECURITY_GROUP_ID]:[0]
    [100112_105234216][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_DECAY_INTERVAL]:[300]
    [100112_105234217][][EXCEPTION] [DEBUG] [NLS_CHARACTERSET]:[US7ASCII]
    [100112_105234217][][EXCEPTION] [DEBUG] [RESP_APPL_ID]:[-1]
    [100112_105234217][][EXCEPTION] [DEBUG] [NLS_LANGUAGE]:[AMERICAN]
    [100112_105234217][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MIN]:[1]
    [100112_105234217][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MAX]:[2]
    [100112_105234217][][EXCEPTION] [DEBUG] [NLS_NUMERIC_CHARACTERS]:[.,]
    [100112_105234217][][EXCEPTION] [DEBUG] [APPS_JDBC_URL]:[jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS=(PROTOCOL=tcp)(HOST=orappsus64.tsindia.in)(PORT=1530)))(CONNECT_DATA=(SID=clone)))]
    [100112_105234217][][EXCEPTION] [DEBUG] [RESP_ID]:[-1]
    [100112_105234217][][EXCEPTION] [DEBUG] [FND_MAX_JDBC_CONNECTIONS]:[500]
    [100112_105234217][][EXCEPTION] [DEBUG] [FND_JDBC_USABLE_CHECK]:[false]
    [100112_105234218][][EXCEPTION] [DEBUG] [USER_ID]:[-1]
    [100112_105234218][][EXCEPTION] [DEBUG] [NLS_TERRITORY]:[AMERICA]
    [100112_105234218][][EXCEPTION] [DEBUG] [FND_JDBC_PLSQL_RESET]:[false]
    [100112_105234218][][EXCEPTION] [DEBUG] [FND_JDBC_CONTEXT_CHECK]:[true]
    [100112_105234218][][EXCEPTION] [DEBUG] [NLS_DATE_FORMAT]:[DD-MON-RR]
    [100112_105234218][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_DECAY_SIZE]:[5]
    [100112_105234218][][EXCEPTION] [DEBUG] [FND_JDBC_IDLE_THRESHOLD.HIGH]:[-1]
    [100112_105234218][][EXCEPTION] [DEBUG] [NLS_SORT]:[BINARY]
    [100112_105234218][][EXCEPTION] [DEBUG] [NLS_DATE_LANGUAGE]:[AMERICAN]
    [100112_105234218][][EXCEPTION] [DEBUG] [LOGIN_ID]:[-1]
    [100112_105234218][][EXCEPTION] [DEBUG] ------- Properties stored in Java System Properties -------
    [100112_105234219][][EXCEPTION] [DEBUG] [APPLTMP]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/appltmp]
    [100112_105234219][][EXCEPTION] [DEBUG] [java.runtime.name]:[Java(TM) SE Runtime Environment]
    [100112_105234219][][EXCEPTION] [DEBUG] [sun.boot.library.path]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/i386]
    [100112_105234219][][EXCEPTION] [DEBUG] [java.vm.version]:[11.0-b15]
    [100112_105234219][][EXCEPTION] [DEBUG] [OVERRIDE_DBC]:[true]
    [100112_105234219][][EXCEPTION] [DEBUG] [dbcfile]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/appl/fnd/12.0.0/secure/clone.dbc]
    [100112_105234219][][EXCEPTION] [DEBUG] [java.vm.vendor]:[Sun Microsystems Inc.]
    [100112_105234219][][EXCEPTION] [DEBUG] [java.vendor.url]:[http://java.sun.com/]
    [100112_105234219][][EXCEPTION] [DEBUG] [path.separator]:[:]
    [100112_105234219][][EXCEPTION] [DEBUG] [APPLCSF]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/logs/appl/conc]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.vm.name]:[Java HotSpot(TM) Server VM]
    [100112_105234220][][EXCEPTION] [DEBUG] [file.encoding.pkg]:[sun.io]
    [100112_105234220][][EXCEPTION] [DEBUG] [sun.java.launcher]:[SUN_STANDARD]
    [100112_105234220][][EXCEPTION] [DEBUG] [user.country]:[US]
    [100112_105234220][][EXCEPTION] [DEBUG] [sun.os.patch.level]:[unknown]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.vm.specification.name]:[Java Virtual Machine Specification]
    [100112_105234220][][EXCEPTION] [DEBUG] [user.dir]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/logs/appl/conc/log]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.runtime.version]:[1.6.0_10-b33]
    [100112_105234220][][EXCEPTION] [DEBUG] [CLIENT_PROCESSID]:[25943]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.awt.graphicsenv]:[sun.awt.X11GraphicsEnvironment]
    [100112_105234220][][EXCEPTION] [DEBUG] [java.endorsed.dirs]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/endorsed]
    [100112_105234221][][EXCEPTION] [DEBUG] [os.arch]:[i386]
    [100112_105234221][][EXCEPTION] [DEBUG] [JTFDBCFILE]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/appl/fnd/12.0.0/secure/clone.dbc]
    [100112_105234221][][EXCEPTION] [DEBUG] [java.io.tmpdir]:[tmp]
    [100112_105234221][][EXCEPTION] [DEBUG] [line.separator]:[
    [100112_105234221][][EXCEPTION] [DEBUG] [java.vm.specification.vendor]:[Sun Microsystems Inc.]
    [100112_105234221][][EXCEPTION] [DEBUG] [os.name]:[Linux]
    [100112_105234221][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MIN]:[1]
    [100112_105234221][][EXCEPTION] [DEBUG] [cpid]:[157635]
    [100112_105234221][][EXCEPTION] [DEBUG] [sun.jnu.encoding]:[UTF-8]
    [100112_105234221][][EXCEPTION] [DEBUG] [oracle.apps.fnd.common.Pool.leak.mode]:[stderr:off]
    [100112_105234221][][EXCEPTION] [DEBUG] [java.library.path]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/i386/server:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/i386:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/../lib/i386:/AP1/oracle/PROD01/apps/tech_st/10.1.3/lib32:/AP1/oracle/PROD01/apps/tech_st/10.1.3/lib:/AP1/oracle/PROD01/apps/apps_st/appl/cz/12.0.0/bin:/AP1/oracle/PROD01/apps/apps_st/appl/iby/12.0.0/bin:/AP1/oracle/PROD01/apps/apps_st/appl/pon/12.0.0/bin:/AP1/oracle/PROD01/apps/apps_st/appl/sht/12.0.0/lib:/usr/java/packages/lib/i386:/lib:/usr/lib]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.specification.name]:[Java Platform API Specification]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.class.version]:[50.0]
    [100112_105234222][][EXCEPTION] [DEBUG] [sun.management.compiler]:[HotSpot Tiered Compilers]
    [100112_105234222][][EXCEPTION] [DEBUG] [queue_appl_id]:[0]
    [100112_105234222][][EXCEPTION] [DEBUG] [os.version]:[2.6.18-128.el5]
    [100112_105234222][][EXCEPTION] [DEBUG] [LONG_RUNNING_JVM]:[true]
    [100112_105234222][][EXCEPTION] [DEBUG] [user.home]:[home/applmgr01]
    [100112_105234222][][EXCEPTION] [DEBUG] [user.timezone]:[Asia/Kolkata]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.awt.printerjob]:[sun.print.PSPrinterJob]
    [100112_105234222][][EXCEPTION] [DEBUG] [file.encoding]:[UTF-8]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.specification.version]:[1.6]
    [100112_105234222][][EXCEPTION] [DEBUG] [CACHEMODE]:[DISTRIBUTED]
    [100112_105234222][][EXCEPTION] [DEBUG] [conc_queue_id]:[6269]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.class.path]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/lib/dt.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/lib/tools.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/rt.jar:/AP1/oracle/PROD01/apps/apps_st/comn/java/lib/appsborg2.zip:/AP1/oracle/PROD01/apps/apps_st/comn/java/classes]
    [100112_105234222][][EXCEPTION] [DEBUG] [user.name]:[applmgr01]
    [100112_105234222][][EXCEPTION] [DEBUG] [DBCFILE]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/appl/fnd/12.0.0/secure/clone.dbc]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.vm.specification.version]:[1.0]
    [100112_105234222][][EXCEPTION] [DEBUG] [java.home]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre]
    [100112_105234222][][EXCEPTION] [DEBUG] [sun.arch.data.model]:[32]
    [100112_105234223][][EXCEPTION] [DEBUG] [user.language]:[en]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.specification.vendor]:[Sun Microsystems Inc.]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.vm.info]:[mixed mode]
    [100112_105234223][][EXCEPTION] [DEBUG] [logfile]:[AP1/oracle/PROD01/inst/apps/clone_orappsus64/logs/appl/conc/log/FNDOPP157635.txt]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.version]:[1.6.0_10]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.ext.dirs]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/ext:/usr/java/packages/lib/ext]
    [100112_105234223][][EXCEPTION] [DEBUG] [sun.boot.class.path]:[AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/resources.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/rt.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/sunrsasign.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/jsse.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/jce.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/lib/charsets.jar:/AP1/oracle/PROD01/apps/tech_st/10.1.3/appsutil/jdk/jre/classes]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.vendor]:[Sun Microsystems Inc.]
    [100112_105234223][][EXCEPTION] [DEBUG] [FND_JDBC_BUFFER_MAX]:[2]
    [100112_105234223][][EXCEPTION] [DEBUG] [file.separator]:[]
    [100112_105234223][][EXCEPTION] [DEBUG] [java.vendor.url.bug]:[http://java.sun.com/cgi-bin/bugreport.cgi]
    [100112_105234223][][EXCEPTION] [DEBUG] [sun.io.unicode.encoding]:[UnicodeLittle]
    [100112_105234223][][EXCEPTION] [DEBUG] [sun.cpu.endian]:[little]
    [100112_105234223][][EXCEPTION] [DEBUG] [APPLOUT]:[out]
    [100112_105234223][][EXCEPTION] [DEBUG] [sun.cpu.isalist]:[]
    [10/1/12 10:52:35 AM] [UNEXPECTED] [157635:RT1296337] java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeParse(XSLT10gR1.java:517)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:224)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:177)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
         at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1665)
         at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:975)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5936)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548)
         at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:285)
         at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:173)
    Caused by: oracle.xdo.parser.v2.XMLParseException: Expected ';'.
         at oracle.xdo.parser.v2.XMLError.flushErrors1(XMLError.java:337)
         at oracle.xdo.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:305)
         at oracle.xdo.parser.v2.XMLParser.parse(XMLParser.java:289)
         ... 17 more
    [10/1/12 10:52:35 AM] [157635:RT1296337] Completed post-processing actions for request 1296337.
    [GC 8059K->6286K(8692K), 0.0076290 secs]
    [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor17]
    [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor19]
    [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor18]
    [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor13]
    6286K->3865K(8692K), 0.0446370 secs]
    Please help great appriciation.
    Thanks,
    Sidharth.

    A semi colon character was expected. Error processing resource 'http://orappsus64.tsindia.in:8009/OA_CGI/FNDWRR.exe?temp_id...
    <CP_PROJECT>IT/Quintiles/J&J COGNOS</CP_PROJECT>
    ----------------------------^
    n-left:1em;text-indent:-2em">   <GL_MAIN_PERIOD>Jun-12</GL_MAIN_PERIOD>
      <TOTAL_REVENUE>4026.14</TOTAL_REVENUE>
      <GL_PERIOD>Jun-12</GL_PERIOD>
      </G_TOTAL_REVENUE_CAT>
    {code}
    Your PL/SQL code doesn't produce a valid XML document.
    In the XML grammar, "&" is a special character and must be escaped using the character entity "&#38;amp;".
    If you were using standard methods to build XML from Oracle (SQL/XML functions for instance), I'm sure you wouldn't have this error.
    Please show us the PL/SQL code you're using to produce this XML output and we'll be able to help you further.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Explicity mapping between ActionScript and Java objects for the BlazeDS Messaging Service

    The BlazeDS documentation shows how to explicitly map between ActionScript and Java objects. For example, this works fine for RPC services, e.g.
    import flash.utils.IExternalizable;
    import flash.utils.IDataInput;
    import flash.utils.IDataOutput;
    [Bindable]
    [RemoteClass(alias="javaclass.User")]
    public class User implements IExternalizable {
            public var id : String;
            public var secret : String;
            public function User() {
            public function readExternal(input : IDataInput) : void {
                    id = input.readObject() as String;
            public function writeExternal(output : IDataOutput) : void {
                    output.writeObject(id);
    and
    import java.io.Externalizable;
    import java.io.IOException;
    import java.io.ObjectInput;
    import java.io.ObjectOutput;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;
    public class User implements Externalizable {
        protected String id;
        protected String secret;
        public String getId() {
            return id;
        public void setId(String id) {
            this.id = id;
        public String getSecret() {
            return secret;
        public void setSecret(String secret) {
            this.secret = secret;
        public void readExternal(ObjectInput in) throws IOException,
                    ClassNotFoundException {
            id = (String) in.readObject();
        public void writeExternal(ObjectOutput out) throws IOException {
            out.writeObject(id);
    If I called an RPC service that returns a User, the secret is not sent over the wire.  Is it also possible to do this for the messaging service? That is, if I create a custom messaging adapter and use the function below, can I also prevent secret from being sent?
    MessageBroker messageBroker = MessageBroker.getMessageBroker(null);
    AsyncMessage message = new AsyncMessage();
    message.setDestination("MyMessagingService");
    message.setClientId(UUIDUtils.createUUID());
    message.setMessageId(UUIDUtils.createUUID());
    User user = new User();
    user.setId("id");
    user.setSecret("secret");
    message.setBody(user);
    messageBroker.routeMessageToService(message, null);

    Hi Martin. The way that AMF serialization/deserialization works for BlazeDS is the same regardless of which service is being used, so yes that code will work for messaging as well. On the server, the serialization/deserialization of messages happens at the endpoint. For an incoming message for example, the endpoint deserializes the message and then hands it off to the MessageBroker which decides which service/destination to deliver the message to.
    That was a good question. Thanks for asking it. Lots of people are used to doing custom serialization/deserialization with the RPC services (RemoteObject/RemotingService) but I'm not sure everyone realizes they can do this for messaging as well.
    -Alex

  • Mapping XML object to java object gives ClassCastException

    Hi All,
    I am trying to map a specific XML object to a specific java object using web
    services and received the following exception:
    java.lang.ClassCastException: weblogic.soap.xml.XMLObject
    at $Proxy0.getMonster(Unknown Source)
    at serviceClient.TestServiceClient.main(TestServiceClient.java:46)
    Exception in thread "main"
    I tried to map a simple type:
    <types>
    <schema targetNamespace='java:biomaterials'
    xmlns='http://www.w3.org/1999/XMLSchema'>
    <element name="Monster">
    <complexType>
    <all>
    <element name="name"
    type="string"/>
    <element name="age"
    type="int"/>
    </all>
    </complexType>
    </element>
    </schema>
    </types>
    To the following java bean:
    package biomaterials;
    public class
    ster{
    private String name;
    private Integer age;
    public Monster(String name, int age) {
    this.name=name;
    this.age=new Integer(age);
    public String getName() {
    return name;
    public void setName(String s) {
    this.name=s;
    public Integer getAge() {
    return age;
    public void setAge(int n) {
    this.age=new Integer(n);
    Here is my client code:
    package serviceClient;
    import java.util.Properties;
    import weblogic.soap.codec.CodecFactory;
    import weblogic.soap.codec.SoapEncodingCodec;
    import weblog
    ic.soap.codec.LiteralCodec;
    import weblogic.soap.WebServiceProxy;
    import weblogic.soap.SoapMethod;
    import weblogic.soap.SoapType;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.ejb.*;
    import biomaterials.ServiceSession;
    import java.io.File;
    import java.io.IOException;
    import org.w3c.dom.Element;
    import biomaterials.Monster;
    public class TestServiceClient
    public static void main( String[] arg ) throws Exception
    Properties h = new Properties();
    h.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.soap.http.SoapInitialContextFactory");
    h.put("weblogic.soap.wsdl.interface",
    ServiceSession.class.getName() );
    Context context = new InitialContext(h);
    ServiceSession serv =
    (ServiceSession)context.lookup("http://localhost:7001/biocat/biomaterials.Se
    rviceSession/biomaterials.ServiceSession.wsdl");
    //try
    //int result = serv.getTheNum();
    //String result=serv.getBIXBiologicals();
    //int result=serv.setBIXInfo("TARNUMBER");
    Monster result=serv.getMonster();
    System.out.print("The value is "+result);
    } /* end of main */
    } /* end of class */
    Here is the method in my stateless session bean:
    public Monster getMonster()
    return new Monster("Sully",3);
    And here is my whole wsdl file:
    <% response.setHeader( "Content-Type", "text/xml; charset=utf-8" ); %>
    <definitions
    targetNamespace="java:biomaterials"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/1999/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="java:biomaterials"
    >
    <types>
    <schema targetNamespace='java:biomaterials'
    xmlns='http://www.w3.org/1999/XMLSchema'>
    <element name="Monster">
    <complexType>
    <all>
    <element name="name" type="string"/>
    <element name="age" type="int"/>
    </all>
    </complexType>
    </element>
    </schema>
    </types>
    <message name="getBIXBiologicalsRequest"></message>
    <message name="getBIXBiologicalsResponse">
    <part name="return" type="xsd:string" />
    </message>
    <message name="setBIXInfoRequest">
    <part name="arg0" type="xsd:string" />
    <part name="arg1" type="xsd:string" />
    <part name="arg2" type="xsd:integer" />
    </message>
    <message name="setBIXInfoResponse"></message>
    <message name="getMonsterRequest"></message>
    <message name="getMonsterResponse">
    <part name="body" element="tns:Monster"/>
    </message>
    <portType name="ServiceSessionPortType">
    <operation name="getBIXBiologicals">
    <input message="tns:getBIXBiologicalsRequest"/>
    <output message="tns:getBIXBiologicalsResponse"/>
    I am using weblogic 6.1 SP1 on WIN NT.
    Please help me out in this issue.
    Thanks in advance.
    Sapan

    HI !
    i dont think that the servicepack is an issue in this case.
    anyway i ahve tried it on 6.1SP4 and still getting similar results.
    any pointers will be highly appreciated.
    Thanks,
    sapan
    "manoj cheenath" <[email protected]> wrote in message
    news:[email protected]...
    I just skimmed through your email. You said you
    are using WLS 6.1 SP1. Can you try this using
    the latest SP. There are many bug fixes done
    after SP1.
    Web service support in 6.1 is very limited. But, It
    looks like 6.1 can handle the case you are trying out.
    regards,
    -manoj
    "Sapan Agarwal" <[email protected]> wrote in message
    news:[email protected]...
    Hi All,
    I am trying to map a specific XML object to a specific java object usingweb
    services and received the following exception:
    java.lang.ClassCastException: weblogic.soap.xml.XMLObject
    at $Proxy0.getMonster(Unknown Source)
    at
    serviceClient.TestServiceClient.main(TestServiceClient.java:46)
    >>
    Exception in thread "main"
    I tried to map a simple type:
    <types>
    <schema targetNamespace='java:biomaterials'
    xmlns='http://www.w3.org/1999/XMLSchema'>
    <element name="Monster">
    <complexType>
    <all>
    <element name="name"
    type="string"/>
    <element name="age"
    type="int"/>
    </all>
    </complexType>
    </element>
    </schema>
    </types>
    To the following java bean:
    package biomaterials;
    public class
    ster{
    private String name;
    private Integer age;
    public Monster(String name, int age) {
    this.name=name;
    this.age=new Integer(age);
    public String getName() {
    return name;
    public void setName(String s) {
    this.name=s;
    public Integer getAge() {
    return age;
    public void setAge(int n) {
    this.age=new Integer(n);
    Here is my client code:
    package serviceClient;
    import java.util.Properties;
    import weblogic.soap.codec.CodecFactory;
    import weblogic.soap.codec.SoapEncodingCodec;
    import weblog
    ic.soap.codec.LiteralCodec;
    import weblogic.soap.WebServiceProxy;
    import weblogic.soap.SoapMethod;
    import weblogic.soap.SoapType;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.ejb.*;
    import biomaterials.ServiceSession;
    import java.io.File;
    import java.io.IOException;
    import org.w3c.dom.Element;
    import biomaterials.Monster;
    public class TestServiceClient
    public static void main( String[] arg ) throws Exception
    Properties h = new Properties();
    h.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.soap.http.SoapInitialContextFactory");
    h.put("weblogic.soap.wsdl.interface",
    ServiceSession.class.getName() );
    Context context = new InitialContext(h);
    ServiceSession serv =
    (ServiceSession)context.lookup("http://localhost:7001/biocat/biomaterials.Se
    rviceSession/biomaterials.ServiceSession.wsdl");
    file://try
    file://int result = serv.getTheNum();
    file://String result=serv.getBIXBiologicals();
    file://int result=serv.setBIXInfo("TARNUMBER");
    Monster result=serv.getMonster();
    System.out.print("The value is "+result);
    } /* end of main */
    } /* end of class */
    Here is the method in my stateless session bean:
    public Monster getMonster()
    return new Monster("Sully",3);
    And here is my whole wsdl file:
    <% response.setHeader( "Content-Type", "text/xml; charset=utf-8" ); %>
    <definitions
    targetNamespace="java:biomaterials"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/1999/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="java:biomaterials"
    >
    <types>
    <schema targetNamespace='java:biomaterials'
    xmlns='http://www.w3.org/1999/XMLSchema'>
    <element name="Monster">
    <complexType>
    <all>
    <element name="name" type="string"/>
    <element name="age" type="int"/>
    </all>
    </complexType>
    </element>
    </schema>
    </types>
    <message name="getBIXBiologicalsRequest"></message>
    <message name="getBIXBiologicalsResponse">
    <part name="return" type="xsd:string" />
    </message>
    <message name="setBIXInfoRequest">
    <part name="arg0" type="xsd:string" />
    <part name="arg1" type="xsd:string" />
    <part name="arg2" type="xsd:integer" />
    </message>
    <message name="setBIXInfoResponse"></message>
    <message name="getMonsterRequest"></message>
    <message name="getMonsterResponse">
    <part name="body" element="tns:Monster"/>
    </message>
    <portType name="ServiceSessionPortType">
    <operation name="getBIXBiologicals">
    <input message="tns:getBIXBiologicalsRequest"/>
    <outputmessage="tns:getBIXBiologicalsResponse"/>
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    I am using weblogic 6.1 SP1 on WIN NT.
    Please help me out in this issue.
    Thanks in advance.
    Sapan

  • XSLT - How to pass a Java object to the xslt file ?

    Hi ,
    I need help in , How to pass a java object to xslt file.
    I am using javax.xml.transform.Tranformer class to for the xsl tranformation. I need to pass a java object eg
    Class Employee {
    private String name;
    private int empId;
    public String getName() {
    return this.name;
    public String getEmpId() {
    return this.empId;
    public String setName(String name) {
    this.name = name;
    public String setEmpId(int empId){
    this.empId = empId;
    How can i access this complete object in the xsl file ? is there any way i can pass custom objects to xsl using Transformer class ?

    This is elementary. Did you ask google ? http://www.google.com/search?q=calling+java+from+xsl
    ram.

  • How to store java objects in the database

    Hi,
    I am trying to store HttpSession state across Application Servers. Basically I am trying to build a sort of application cluster server on my own. I thought the best way to do this was to periodically store the HttpSession object from an application server in a database.
    I created a table in Oracle 8i with a blob column. I use a PreparedStatement.setObject() method to store the HttpSession object in the database. My problem is, I don't know how to get the object back from the database.
    Since ResultSet.getBlob returns the Blob locator, I need to read the BinaryInputStream to get all my data back. This tells me that getBlob basically works only for things like files, and cannot be used for Java objects.
    Is there any way around this? Your input would be much appreciated.
    Regards,
    Somaiah.

    Thanks for the quick reply vramakanth.
    Do I have to use a type map if I do this? Also does such a type map exist for the HttpSession class?
    Thanks,
    Somaiah.

  • Calling Stored Procedure(takes varray of objects as input) from jdeveloper

    How can i call Stored Procedure which takes varray of objects as input from jdeveloper
    My object is :
    TYPE Entry IS Object (
    Name VARCHAR2(1024),
    Value VARCHAR2(1024)
    & the varray is :
    TYPE EntryArr IS varray(10) OF Entry ;
    & the procedure is :
    PROCEDURE myProc( myEntryArr IN EntryArr )
    AS
    s varchar2(1024);
    BEGIN
    for i in 1.. myEntryArr .COUNT loop
    if myEntryArr(i).Name = 'Name1' then
    s := myEntryArr(i).Value
    end loop;
    end;

    hi 429071
    Maybe you can find some useful information in:
    "Oracle Database Java Developer's Guide"
    http://download-west.oracle.com/docs/cd/B14117_01/java.101/b12021.pdf
    see "6 Publishing Java Classes With Call Specs" > "Writing Object Type Call Specs"
    success
    Jan Vervecken

  • Storage of Java object in table column

    Hello,
    We have developed an application that requires some Java objects to be stored in tables.
    With JDataStore, Cloudscape or InstantDB the operation is rather straightforward. We can use something like:
    pstmt = conn.prepareStatement("INSERT INTO TABLEOBJ(ID,OBJ) VALUES (?,?)");
    pstmt.setLong(1,i);
    pstmt.setObject(2,myObject);
    psmt.executeUpdate();
    Some of our clients would like us to use Oracle Lite rather than any of the previously mentioned databases. The only problem is that the above simple code does not work with Oracle.
    What is then the easiest way to save Java Object in table column?
    Thanks in advance,
    Benoit Marchal

    found part of the answer in another newsgroup.
    But is Oracle Lite 4.0 offering the same possibility? Is it going to be implemented in Oracle Lite 5.0?
    Benoit
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Alexander Day ([email protected]):
    Another little tidbit from ORacle's documentation:
    "Important: The JDBC 2.0 specification states that PreparedStatement methods setBinaryStream() and setObject() can be used to input a stream value as a BLOB, and
    that the PreparedStatement methods setAsciiStream(), setUnicodeStream(), setCharacterStream(), and setObject() can be used to input a stream value as a CLOB. This
    bypasses the LOB locator, going directly to the LOB data itself. In the implementation of the Oracle JDBC drivers, this functionality is supported only for a configuration using an 8.1.6 database and
    8.1.6 JDBC OCI driver. Do not use this functionality for any other configuration, as data corruption may result."<HR></BLOCKQUOTE>
    null

  • Calling a java object from a store procedure

    I have written a translation object in java that takes a $en_var in and returns its path.
    What I need to do is call that object from a PL/SQL store procedure. All the examples I have seen treat the store procedure as a wrapper around the java object.
    But in my store procedure calling the object is only one part of the procedures role:
    The store procedure code is :
    CREATE OR REPLACE PROCEDURE WRITE_TO_FILE(in_file_name IN VARCHAR, in_en_var IN VARCHAR)
    file_handle UTL_FILE.FILE_TYPE;
    file_location VARCHAR2(50)
    BEGIN
    I need to be able to call the javaobject translation here
    file_location = translation.translatePath(in_en_var)
    file_handle := UTL_FILE.FOPEN(file_location, in_file_name, 'w');
    dbms_output.put_line ('input file name opened file name' ||in_file_name ||'-->' ||in_file_location);
    UTL_FILE.put_line(file_handle,'Hello Tony);
    UTL_FILE.FCLOSE(file_handle);
    END WRITE_TO_FILE;
    I call the java class method translatePath with a string the en_var which returns the path as a string which is then passed as a parameter to UTL_FILE.FOPEN.
    Thanks for any help
    Tony

    No Longer the problem

  • What is the BEST practice - use BO or Java Object in process as webservice

    Hi All,
    I have my BP published as web service. I have defined My process input & output as BOs. My BP talks to DB through DAO layer(written in JAVA) which has Java objects. So I have BO as well as java Objects. Since I am collecting user input in BO, I have to assign individual values contained in BO to Java object's fields.
    I want to reduce this extra headache & want to use either of BO or Java object.I want to know What is the best practice - use BO or Java object as process input. If it is BO,how I can reuse BOs in Java?
    Thanks in advance.
    Thanks,
    Sujata P. Galinde

    Hi Mark,
    Thanks for your response. I also wanted to use java object only. When I use java object as process input argument..it is fine. But when I try to create Process web service, I am getting compilation error - "data type not supported".....
    To get rid of this error, I tried to use heir (BO inheriting from java class). But while invoking process as web service, it is not asking for fields that are inherited from java class.
    Then I created Business Object with a field of type java class... This also is not working. While sending request, it is giving an error that - field type for fields from java class not found.
    Conclusion - not able to use java object as process(exposed as web service) input argument .
    What is the Best & feasible way to accomplist the task - Process using DAO in Java & exposed as web service.
    Thanks & Regards,
    Sujata

  • How to use Java NIO to implement disk cache for serialized java objects

    Hi,
    I have a cache (implemented as hahstable etc.) that contains java objects (mostly strings) and swaps objects from runtime memory to the disk and back based on some algorithms. Currently, the reading and writing from the disk is implemented using java.io.* package i.e. fileInputstream and FileOutputStream. Essentially, I serialize the java object and write to the disk and the deserialize and give it back to the Hashtable cache.
    The performance of swapping from disk to memory is kinda slow. I have read that memory mapping would improve the performance.
    My idea is to do the following:
    Have one big file mapped to memory. I write the serialized objects to different portions of the file and then read those portions when needed. I can use the MappedByteBuffer for that but then I have the following questions. I will not store objects in the hashtable anymore.
    1. How do I delete things from the cache in the above design i.e. how do I delete portions of a mapped file?
    2. How do I serialize objects using ByteBuffers and then deserialize them? I guess this shouldn't be hard but just want to confirm.
    Do you think this is the right design or should I change? Right now using the old io package, I have a separate file for each object. When using the NIO package, I want to store all objects in a single file in different portions of the file, is that the right way to go?
    As you can see, I am beginner in memory mapped io and need help.

    Have one big file mapped to memory. I write the serialized objects to different portions of the file and then read those portions when needed. I can use the MappedByteBufferThis is a good idea, one that I have worked on. It involves quite a bit of manipulation with temporary buffers and a deep working knowledge of object serialization.
    1. How do I delete things from the cache in the above design i.e. how do I delete portions of a mapped file?The best way to handle this is do a two-step process, cutting the file into two pieces and gluing it back together where the original one is...
    2. How do I serialize objects using ByteBuffers and then deserialize them? I guess this shouldn't be hard but just want to confirm.It is hard. Wrapping the streams and making the IO work properly is not the challenge however. The hard part comes in hacking the object streams. The object input/output streams use a ClassDescriptor object which only gets written once/ read once. This shouldn't be a problem if you will read/write the entire file at once, but will bring you grief if you want random access to your objects. You will also need an indexing mechanism to support random access.
    Do you think this is the right design or should I change? Right now using the old io package, I have a separate file for each object. When using the NIO package, I want to store all objects in a single file in different portions of the file, is that the right way to go?I guess it depends on your needs. Do you require random access to objects? NIO provides some performance gains, but mostly for very large amounts of data (>10M in my experience).
    You can always write all your objects into the same file using normal io techniques and you can still generate an index and acheive random access. It might be easier...
    Good luck

Maybe you are looking for