TIBCO BusinessEvents engine throws an exception when creating an event payload from an incoming TIBCO Rendezvous (RV) message payload.

TIBCO BusinessEvents engine throws an exception when creating an event payload from an incoming TIBCO Rendezvous (RV) message payload.

book

Article ID: KB0094512

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
============
TIBCO BusinessEvents engine throws an exception when creating an event payload from an RV incoming message payload.

Environment:
==========

Operating system:  All
TIBCO BusinessEvents (BE) version: 4.0.1, TIBCO Rendezvous

Symptoms:
=========

The BE engine log has the following error statements.

2012 Jan 16 10:21:45:312 GMT -8 VirtualXP-56529 Error [$default.be.mt$.Thread.1] - [functions.event] [inference-class] Exception while creating an Event using XSLT.
java.lang.ClassCastException: com.tibco.xml.schema.impl.DefaultWildcard cannot be cast to com.tibco.xml.schema.SmElement
    at com.tibco.cep.driver.tibrv.serializer.TibrvMsgPayload.toXiNode(TibrvMsgPayload.java:65)
    at com.tibco.cep.runtime.model.event.impl.SimpleEventImpl.toXiNode(SimpleEventImpl.java:144)
    at com.tibco.be.model.rdf.XiNodeBuilder.setXiNodeValue(XiNodeBuilder.java:84)
    at com.tibco.be.model.rdf.XiNodeBuilder.makeXiNode(XiNodeBuilder.java:64)
    at com.tibco.be.model.rdf.XiNodeBuilder.makeXiNode(XiNodeBuilder.java:44)
    at com.tibco.be.functions.event.EventHelper.createEvent3(EventHelper.java:134)
    at com.tibco.be.functions.event.EventHelper.createEvent(EventHelper.java:116)
    at com.tibco.be.functions.event.EventHelper.createEvent2(EventHelper.java:111)
    at be.gen.Rules.test$test_a.execute(test.java:33)
    at com.tibco.cep.kernel.core.rete.ReteWM.resolveConflict(ReteWM.java:311)
    at com.tibco.cep.kernel.core.rete.ReteWM.resolveConflict(ReteWM.java:289)
    at com.tibco.cep.kernel.core.rete.ReteWM.assertObject(ReteWM.java:1524)
    at com.tibco.cep.runtime.session.impl.RuleSessionImpl.assertObject(RuleSessionImpl.java:1255)
    at com.tibco.cep.runtime.scheduler.impl.WorkerBasedControllerV2.executeTask(WorkerBasedControllerV2.java:357)
    at com.tibco.cep.runtime.scheduler.impl.WorkerBasedControllerV2$WorkerTask.run(WorkerBasedControllerV2.java:386)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at com.tibco.cep.runtime.util.CustomBEManagedThread.run(CustomBEManagedThread.java:23)
2012 Jan 16 10:21:45:352 GMT -8 VirtualXP-56529 Error [$default.be.mt$.Thread.1] - [runtime.service] [inference-class] Got runtime exception while executing Rule be.gen.Rules.test(Rules.test) Action be.gen.Rules.test$test_a@e7a94c Objects &ltbe.gen.Events.CricketCommonEvent@id=3>
java.lang.RuntimeException: java.lang.ClassCastException: com.tibco.xml.schema.impl.DefaultWildcard cannot be cast to com.tibco.xml.schema.SmElement
    at com.tibco.be.functions.event.EventHelper.createEvent3(EventHelper.java:160)
    at com.tibco.be.functions.event.EventHelper.createEvent(EventHelper.java:116)
    at com.tibco.be.functions.event.EventHelper.createEvent2(EventHelper.java:111)
    at be.gen.Rules.test$test_a.execute(test.java:33)
    at com.tibco.cep.kernel.core.rete.ReteWM.resolveConflict(ReteWM.java:311)
    at com.tibco.cep.kernel.core.rete.ReteWM.resolveConflict(ReteWM.java:289)
    at com.tibco.cep.kernel.core.rete.ReteWM.assertObject(ReteWM.java:1524)
    at com.tibco.cep.runtime.session.impl.RuleSessionImpl.assertObject(RuleSessionImpl.java:1255)
    at com.tibco.cep.runtime.scheduler.impl.WorkerBasedControllerV2.executeTask(WorkerBasedControllerV2.java:357)
    at com.tibco.cep.runtime.scheduler.impl.WorkerBasedControllerV2$WorkerTask.run(WorkerBasedControllerV2.java:386)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at com.tibco.cep.runtime.util.CustomBEManagedThread.run(CustomBEManagedThread.java:23)

Cause:
==========
The reason for the exception is that the input schema had the payload not defined in the format that TIBCO BusinessEvents understands. To include a payload in a Rendezvous message, ensure that the message has a _payload_ field.  Also, the complex datatype is not a supported _payload_ field datatypes.

Resolution:
==========
Modify the payload field of the input schema to _payload_ and make sure Supported _payload_ field datatypes and Rendezvous wire format types are used.The supported _payload_ field datatypes are as follows:

1). String
2). TibrvXML
3). byte[]

Reference:
==========
Refer to TIBCO BusinessEvents Developer guide : Channels and Destinations : Working with Rendezvous Channels

Issue/Introduction

TIBCO BusinessEvents engine throws an exception when creating an event payload from an incoming TIBCO Rendezvous (RV) message payload.