09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Messaging Gateway Questions<br />

What transformation exceptions might I see in a Messaging Gateway log<br />

file?<br />

The exception messages logged to the MGW log file often include a linked<br />

exception that provides additional information. If the linked exception is a<br />

java.sql.SQLException, it may include an <strong>Oracle</strong> error message and possibly<br />

a PL/SQL stack trace.<br />

ORA-25229 is typically thrown by AQ when the transformation function raises a<br />

PL/SQL exception or some other <strong>Oracle</strong> error occurs when attempting to use the<br />

transformation.<br />

Example 1<br />

Errors occured during processing of subscriber SUB_MQ2AQ_2<br />

oracle.mgw.common.GatewayException: [722] Message transformation failed; queue:<br />

MGWUSER.DESTQ_SIMPLEADT, transform:<br />

MGWUSER.MGW_BASIC_MSG_TO_SIMPLEADT<br />

[…Java stack trace here…]<br />

[Linked-exception]<br />

oracle.mgw.common.MessageException: [722] Message transformation failed; queue:<br />

MGWUSER.DESTQ_SIMPLEADT, transform:<br />

MGWUSER.MGW_BASIC_MSG_TO_SIMPLEADT<br />

[…Java stack trace here…]<br />

[Linked-exception]<br />

java.sql.SQLException: ORA-25229: error on transformation of message msgid:<br />

9749DB80C85B0BD4E03408002086745E<br />

ORA-00604: error occurred at recursive SQL level 1<br />

ORA-00904: invalid column name<br />

[…Java stack trace here…]<br />

Possible causes of transformation exceptions include:<br />

1. The MGW agent user may not have EXECUTE privilege on the transformation<br />

function. It is not sufficient to grant EXECUTE to MGW_AGENT_ROLE and then<br />

grant MGW_AGENT_ROLE to the agent user. EXECUTE privilege on the<br />

transformation function must be granted directly to the agent user or to<br />

PUBLIC.<br />

2. The transformation function may not exist, even though the registered<br />

transformation does. If the transformation function does not exist, it must be<br />

re-created.<br />

3. The MGW agent user may not have EXECUTE privilege on the payload object<br />

type for the queue indicated in the exception. It is not sufficient to grant<br />

EXECUTE to MGW_AGENT_ROLE and then grant MGW_AGENT_ROLE to the agent<br />

6-14 <strong>Oracle</strong>9i Application Developer’s Guide - <strong>Advanced</strong> <strong>Queuing</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!