Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Oracle SOA Suite 11g Getting the payload from the Composite instance

Vladimir ZhilyaevNov 17 2015 — edited Nov 17 2015

Hello! Im trying to execute code from guide Oracle SOA Suite 11g – Getting the payload from the Composite instance - Part2

Im added some code to see string after transform:

import java.io.StringWriter;

import java.sql.*;

import java.util.Hashtable;

import javax.naming.*;

import javax.xml.transform.*;

import javax.xml.transform.dom.DOMSource;

import javax.xml.transform.stream.StreamResult;

import oracle.xml.binxml.*;

import oracle.xml.parser.v2.*;

import oracle.xml.scalable.InfosetReader;

public class GetPayload {

    public static Connection getConnection() throws Exception {

        Context ctx = null;

        Hashtable ht = new Hashtable();

        ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");

        ht.put(Context.PROVIDER_URL, "t3://test.ru:8001");

        ctx = new InitialContext(ht);

        javax.sql.DataSource ds =(javax.sql.DataSource)ctx.lookup("jdbc/SOADataSource");

        return ds.getConnection();

    }

  

    public static String getPayload() {

        Statement stmt = null;

        Connection connection = null;

        ResultSet rs = null;

        String query =

            "select xmldoc.document DOC " + "from xml_document xmldoc,instance_payload inspay,composite_instance cmpins " +

            "where xmldoc.document_id = inspay.payload_key " +

            "and inspay.instance_id = cmpins.id " +

            "and inspay.instance_type='composite' " +

            "and xmldoc.DOCUMENT_TYPE = 2 " +

            "and inspay.instance_id = 1933802";     

 

        String payload = "";

        XMLDocument doc = null;

        try {

            connection = getConnection();

            stmt = connection.createStatement();

            rs = stmt.executeQuery(query);

            XMLDOMImplementation xmldomimpl = new XMLDOMImplementation();

            while (rs.next()) {                   

                BinXMLProcessor xmlprocessor =BinXMLProcessorFactory.createProcessor();

                BinXMLStream xmlstream =xmlprocessor.createBinXMLStream(rs.getBlob("DOC"));

                BinXMLDecoder xmldecoder = xmlstream.getDecoder();

                InfosetReader xmlreader = xmldecoder.getReader();

                doc = (XMLDocument)xmldomimpl.createDocument(xmlreader);

                TransformerFactory tf = TransformerFactory.newInstance();

                Transformer transformer;

                transformer = tf.newTransformer();

                transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,"yes");

                StringWriter writer = new StringWriter();

                transformer.transform(new DOMSource(doc),new StreamResult(writer));

                payload =writer.getBuffer().toString().replaceAll("<", "&lt;").replaceAll(">","&gt;");     

           }

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            try {

                if (rs != null)

                    rs.close();

                if (stmt != null)

                    stmt.close();

                if (connection != null)

                    connection.close();

            } catch (Exception e) {

            }

        }

        return payload;

      

    }

    public static void main(String[] args){

        System.out.println(getPayload());

    }

}

To project Im added some jar:

     xmlparserv2.jar from middleware/oracle_common/modules/oracle.xdk_11.1.0

     wlclient.jar from /oracle/middleware/wlserver_10.3/server/lib

When Im running project im getting error:

D:\Oracle\Java\jdk1.6.0_45\bin\javaw.exe -server -classpath C:\JDeveloper\mywork\ParseXMLbin\.adf;C:\JDeveloper\mywork\ParseXMLbin\GetPayload\classes;D:\libs\oracle.xdk_11.1.0\xmlparserv2.jar;D:\libs\wlclient.jar -Djavax.net.ssl.trustStore=D:\Oracle\Middleware1\wlserver_10.3\server\lib\DemoTrust.jks GetPayload

java.lang.ClassCastException: java.lang.Object incompatible with java.io.Serializable

  at weblogic.iiop.IIOPOutputStream.writeAny(IIOPOutputStream.java:1588)

  at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2231)

  at weblogic.utils.io.ObjectStreamClass.writeFields(ObjectStreamClass.java:414)

  at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:235)

  at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:225)

  at weblogic.corba.utils.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:182)

  at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:1963)

  at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:2001)

  at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2266)

  at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)

  at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)

  at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)

  at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)

  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

  at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)

  at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)

  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

Weblogic log file /oracle/middleware/user_projects/domains/ECMdomain/servers/soa_server1/logs/soa_server1.log

####<Nov 17, 2015 9:44:04 AM EET> <Warning> <RMI> <webtst.russvet.ru> <soa_server1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <ad53144a2e378d05:19b7a705:15101221102:-8000-00000000002ec16c> <1447746244170> <BEA-080003> <RuntimeException thrown by rmi server: weblogic.jdbc.common.internal.RmiDataSource.getConnection()

java.lang.ClassCastException: java.lang.Object incompatible with java.io.Serializable.

java.lang.ClassCastException: java.lang.Object incompatible with java.io.Serializable

  at weblogic.iiop.IIOPOutputStream.writeAny(IIOPOutputStream.java:1588)

  at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2231)

  at weblogic.utils.io.ObjectStreamClass.writeFields(ObjectStreamClass.java:414)

  at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:235)

  at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:225)

  at weblogic.corba.utils.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:182)

  at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:1963)

  at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:2001)

  at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2266)

  at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)

  at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)

  at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)

  at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)

  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)

  at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)

  at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)

  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

Could you help to find solution?

This post has been answered by Vladimir Zhilyaev on Nov 17 2015
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 15 2015
Added on Nov 17 2015
4 comments
1,861 views