TopicExpressionType topicExprXmlBean = request.getTopic();
TopicExpression topicExpr = new XmlBeansTopicExpression( topicExprXmlBean );
Topic[] topics = evaluateTopicExpression( topicExpr );
if ( topics.length == 0 )
{
throw new InvalidTopicExpressionFaultException( NAMESPACE_SET,
"Given TopicExpression did not match any Topics supported by this NotificationProducer - the WS-BaseN spec mandates that it match exactly one." );
}
if ( topics.length > 1 )
{
throw new InvalidTopicExpressionFaultException( NAMESPACE_SET,
"Given TopicExpression matched more than one Topic supported by this NotificationProducer - the WS-BaseN spec mandates that it match exactly one." );
}
Topic topic = topics[0];
XmlObject currentMsg = (XmlObject) topic.getCurrentMessage();
if ( currentMsg == null )