"oracle.tip.adapter.aq.v2.database.MessageConverter.getSTRUCTPayload" Exception While Dequeue 4kb or Larger XMLType Payload in AQ Adapter (Doc ID 1287989.1)

Last updated on JANUARY 25, 2016

Applies to:

Oracle SOA Suite - Version 11.1.1.3.0 and later
Information in this document applies to any platform.

Symptoms

When AQ is configured to dequeue XMLType messages, with messages larger than 4 KB size, the message is not getting dequeued properly. Instead it results in the following exception:

<Jan 11, 2011 8:22:04 AM PST> <Error> <oracle.soa.adapter> <BEA-000000> <AQ Adapter CustomerApp
Expected name instead of <.
at oracle.tip.adapter.aq.v2.database.MessageConverter.getSTRUCTPayload(MessageConverter.java:365)
at oracle.tip.adapter.aq.v2.database.MessageConverter.getPayload(MessageConverter.java:139)
at oracle.tip.adapter.aq.v2.database.XMLRecordMessageConverter.getRecord(XMLRecordMessageConverter.java:88)
at oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent.getInputRecord(AbstractDequeueAgent.java:236)
at oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent.run(AbstractDequeueAgent.java:101)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:106)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: oracle.xml.sql.OracleXMLSQLException: Expected name instead of <.
at oracle.xml.sql.core.OracleXMLConvert.getXML(OracleXMLConvert.java:1148)
at oracle.xml.sql.query.OracleXMLQuery.getXMLDOM(OracleXMLQuery.java:417)
at oracle.xml.sql.query.OracleXMLQuery.getXMLDOM(OracleXMLQuery.java:384)
at oracle.xml.sql.query.OracleXMLQuery.getXMLDOM(OracleXMLQuery.java:345)
at oracle.tip.adapter.aq.v2.database.MessageConverter.getSTRUCTPayload(MessageConverter.java:363)
at oracle.tip.adapter.aq.v2.database.MessageConverter.getPayload(MessageConverter.java:139)
at oracle.tip.adapter.aq.v2.database.XMLRecordMessageConverter.getRecord(XMLRecordMessageConverter.java:88)
at oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent.getInputRecord(AbstractDequeueAgent.java:236)
at oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent.run(AbstractDequeueAgent.java:101)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:105)
... 2 more
>


For example, if the payload type for AQ is as below (entity_data column is of type sys.XMLType):

CREATE OR REPLACE TYPE PAYLOAD_TYP_XML AS OBJECT
(entity_msg_id VARCHAR2(30),
entity_identifier VARCHAR2(100),
entity_name VARCHAR2(30),
source_site VARCHAR2(10),
entity_data sys.XMLType
);


Whenever entity_data column receives a payload size of 4 KB or more, AQ Adapter is not able to receive the complete XML payload.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms