FATAL ERROR: 'com.ibm.xtq.commons.utils.wrappedruntimeexception : the root element is required ina well formed document'
FATAL ERROR: 'com.ibm.xtq.commons.utils.wrappedruntimeexception : the root element is required ina well formed document'
我正在尝试 运行 使用带有 TextMessage 的独立 JMS 应用程序测试应用程序(使用 Siebel 消息 XML格式)。我们正在使用 IBM WebSphere MQ 特定的。
我得到了 QueueConnection、QueueSession 和 QueueSender 对象。
我在下面附上了示例代码。 运行ning 时,回复消息为空,我得到异常 "FATAL ERROR: 'com.ibm.xtq.commons.utils.wrappedruntimeexception : the root element is required ina well formed document'"。
"TextMessage replyMessage = (TextMessage)msg" 行出现异常
为什么我得到这个异常,帮我解决这个问题。
public static void main(String args[]){
MQQueueConnectionFactory factory = new MQQueueConnectionFactory();
factory.setQueueManager(queueManagerName);
factory.setHostName("hostName");
factory.setTransportType(1);
factory.setPort(1111);
factory.setChannel("channel");
connection = factory.createQueueConnection();
connection.start();
boolean transacted = false;
QueueSession session = connection.createQueueSession(transacted, 1);
MQQueue requestQueue = new MQQueue();
requestQueue.setBaseQueueManagerName(queueManagerName);
requestQueue.setBaseQueueName(requestQueueName);
requestQueue.setTargetClient(1);
Queue replyQueue = session.createQueue(replyQueueName);
QueueSender queueSender = session.createSender(requestQueue);
TextMessage requestMessage = session.createTextMessage();
requestMessage.setText(message);
requestMessage.setJMSReplyTo(replyQueue);
queueSender.send(requestMessage);
String selector = "JMSCorrelationID = '" + id + "'";
javax.jms.QueueReceiver queueReceiver = session.createReceiver(replyQueue, selector);
Message msg = queueReceiver.receive(timeout);
TextMessage replyMessage = (TextMessage)msg;
replyMessage.getText();
}
下面XML内容是siebelxml请求(此数据通过JMS发送消息发送)
<?xml version='1.0' encoding='UTF-8' ?>
<?Siebel-Property-Set EscapeNames='false'?>
<SiebelMessage MessageId='1-1GGX' MessageType='Integration Object' IntObjectName='GL IVR Request' IntObjectFormat='Siebel Hierarchical'>
<GLIVRRequest>
<TransactionName>Policy</TransactionName>
<PolicyNumber>XYZ123</PolicyNumber>
<AgentCode></AgentCode>
<PostalCode></PostalCode>
<WithdrawalAmount></WithdrawalAmount>
<LoanAmount></LoanAmount>
<ApplyToPremium></ApplyToPremium>
<ApplyToPremiumAmount></ApplyToPremiumAmount>
<RequestType></RequestType>
<RequestItemID></RequestItemID>
<SendMethod></SendMethod>
<GLIMCallerFaxNumber></GLIMCallerFaxNumber>
</GLIVRRequest>
</SiebelMessage>
当 xml 文件 为空或 null 时,会发生此类异常。请检查 xml 文件对象。这不是 siebel 格式 xml 的问题。
但是,如果您得到的响应为“null”,请检查接收器部分。
我正在尝试 运行 使用带有 TextMessage 的独立 JMS 应用程序测试应用程序(使用 Siebel 消息 XML格式)。我们正在使用 IBM WebSphere MQ 特定的。
我得到了 QueueConnection、QueueSession 和 QueueSender 对象。
我在下面附上了示例代码。 运行ning 时,回复消息为空,我得到异常 "FATAL ERROR: 'com.ibm.xtq.commons.utils.wrappedruntimeexception : the root element is required ina well formed document'"。
"TextMessage replyMessage = (TextMessage)msg" 行出现异常
为什么我得到这个异常,帮我解决这个问题。
public static void main(String args[]){
MQQueueConnectionFactory factory = new MQQueueConnectionFactory();
factory.setQueueManager(queueManagerName);
factory.setHostName("hostName");
factory.setTransportType(1);
factory.setPort(1111);
factory.setChannel("channel");
connection = factory.createQueueConnection();
connection.start();
boolean transacted = false;
QueueSession session = connection.createQueueSession(transacted, 1);
MQQueue requestQueue = new MQQueue();
requestQueue.setBaseQueueManagerName(queueManagerName);
requestQueue.setBaseQueueName(requestQueueName);
requestQueue.setTargetClient(1);
Queue replyQueue = session.createQueue(replyQueueName);
QueueSender queueSender = session.createSender(requestQueue);
TextMessage requestMessage = session.createTextMessage();
requestMessage.setText(message);
requestMessage.setJMSReplyTo(replyQueue);
queueSender.send(requestMessage);
String selector = "JMSCorrelationID = '" + id + "'";
javax.jms.QueueReceiver queueReceiver = session.createReceiver(replyQueue, selector);
Message msg = queueReceiver.receive(timeout);
TextMessage replyMessage = (TextMessage)msg;
replyMessage.getText();
}
下面XML内容是siebelxml请求(此数据通过JMS发送消息发送)
<?xml version='1.0' encoding='UTF-8' ?>
<?Siebel-Property-Set EscapeNames='false'?>
<SiebelMessage MessageId='1-1GGX' MessageType='Integration Object' IntObjectName='GL IVR Request' IntObjectFormat='Siebel Hierarchical'>
<GLIVRRequest>
<TransactionName>Policy</TransactionName>
<PolicyNumber>XYZ123</PolicyNumber>
<AgentCode></AgentCode>
<PostalCode></PostalCode>
<WithdrawalAmount></WithdrawalAmount>
<LoanAmount></LoanAmount>
<ApplyToPremium></ApplyToPremium>
<ApplyToPremiumAmount></ApplyToPremiumAmount>
<RequestType></RequestType>
<RequestItemID></RequestItemID>
<SendMethod></SendMethod>
<GLIMCallerFaxNumber></GLIMCallerFaxNumber>
</GLIVRRequest>
</SiebelMessage>
当 xml 文件 为空或 null 时,会发生此类异常。请检查 xml 文件对象。这不是 siebel 格式 xml 的问题。
但是,如果您得到的响应为“null”,请检查接收器部分。