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!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

ESB -Error topic-How to read the Error object in JMSAdapter

siva pSep 28 2007 — edited Oct 24 2007
Hi,

I am trying to read the content of my ERROR topic ,
I could able to read the content of the "[ESB Error Topic]" by MDB
I have to send the errored object to be read by another ESB system(routing service)
I am getting Opaque element while i read this javax.jms.Message object in JMS Adapter....?

Sivakumar

Comments

siva p
Hi,

I could manage to get an JMSObject(javax.jms.Message) in the Errored Q (Error Hopital)
Is there any way to add custom message to the JMS OBJECT ?
For Example when we do transformation on XSL in ESB System,i have to do custome error messages in my error objects

Thank you
Sivakumar
user526729
can you please explain the solution? we are trying to read from oc4j exception queue.
siva p
Hi,

Please run the batch file in the following location
<SOA_HOME>/Integration/esb/olite/bin/sql_olite.bat
You can get the meta-data database with SQL> prompt


SQL>select * from all_objects; - to list the tables in the meta-data
SQL>select * from esb_parameter; - to list the configuration on the error settings,


PARAM_NAME | PARAM_VALUE
-----------------------------+-------------------------------
PROP_NAME_MONITOR_TOPIC_JNDI | OracleASjms/ESBMonitorTopic
PROP_NAME_ERROR_XATCF_JNDI | OracleASjms/MyXATCF
PROP_NAME_ERROR_RETRY_JNDI | OracleASjms/ESBErrorRetryTopic
DT_OC4J_HTTP_PORT | 8888
PROP_NAME_CONTROL_TCF_JNDI | OracleASjms/MyXATCF
PROP_NAME_MONITOR_TCF_JNDI | OracleASjms/MyTCF
PROP_NAME_ERROR_TOPIC_JNDI | OracleASjms/Mytopic1
PROP_NAME_ERROR_TCF_JNDI | OracleASjms/MyTCF
PROP_NAME_CONTROL_TOPIC_JNDI | OracleASjms/ESBControlTopic
PROP_NAME_DEFERRED_TCF_JNDI | OracleASjms/MyTCF
DT_OC4J_HOST | systemname PROP_NAME_DEFERRED_XATCF_JNDI | OracleASjms/MyXATCF
PROP_NAME_ERROR_RETRY_TCF_JNDI | OracleASjms/MyXATCF
ACT_ID_RANGE | 4150

(Above on this i have changed the default value to )
PROP_NAME_ERROR_TOPIC_JNDI | OracleASjms/Mytopic1
PROP_NAME_ERROR_TCF_JNDI | OracleASjms/MyTCF

Read the above by an MDB (or) an ESB system and adapter reading to the above destination (or) read from the default values..(Errortopic..directly)

Please be make sure the server has been shut down before commiting the changes in data base

Reference :
http://download.oracle.com/docs/cd/B31017_01/core.1013/b28939/j2ee.htm#sthref154
section :3.1.18
3.20
----------------------------------------------------------------------------------------------------------------
If you find any chance to populating error messages inside the Error message(by JMS header),please post it here
Reference:OTNSamples\110.JMStoJMSHeaders\JMStoJMSHeaders-project
-----------------------------------------------------------------------------------------------------------------

Thank you,
Sivakumar
siva p
HI,

I have done the following in the MDB which listens to the topic(ESB/Error/Topic)

The message i have got is an Opaque element.....
encoded with the Base64binary....
<opaqueElement xmlns="http://xmlns.oracle.com/pcbpel/adapter/opaque/">c2l2YQ==</opaqueElement>

System.out.println("==============Text Message=========");
System.out.println(txt.getText());
String input = (String)txt.getText();
Document XMLDoc=DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new java.io.StringReader(input)));
Element node = XMLDoc.getDocumentElement();
System.out.println("node el" + node.getFirstChild().getNodeValue());

byte[] buf = new sun.misc.BASE64Decoder().decodeBuffer(node.getFirstChild().getNodeValue());



System.out.println("===========Text Message "+new Date().toString()+"===========");
System.out.println("Decoded Message++++++++++++++++++++");
System.out.println(new String(buf));
System.out.println("\n Decoded Message++++++++++++++++++++");

i could able to get the message back to the decoded form....
603306
Hi,

Have you tried using the ESB Adapter service??
we to have to read by ESB Adapter (OR) ESB directly,
so,the error handling will moves to separate system
siva p
I have't tried so far, we have to check that an Adapter can parse the Opaque schema?? shema back to orginal XSD Element...

Thank you
Sivakumar
603306
Hi all,

Any updates on the above?.
How to parse this schema in ESB..(or)in the adapter which reads the error objects?
1 - 7
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Nov 21 2007
Added on Sep 28 2007
7 comments
1,769 views