я пытаюсь запустить тестовое приложение, используя автономную JMS приложения с Отпраком (с использованием Siebel сообщений в формате XML). Мы используем IBM Специфика WebSphere MQ.FATAL ERROR: «com.ibm.xtq.commons.utils.wrappedruntimeexception: корневой элемент требуется ин хорошо сформированный документ»
У меня есть объекты QueueConnection, QueueSession и QueueSender.
Приведенный ниже пример кода. Во время работы replymessage имеет значение null, и я получил исключение «FATAL ERROR:« com.ibm.xtq.commons.utils.wrappedruntimeexception: корневой элемент требуется в хорошо сформированном документе ».
Исключение произошло в строке «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 является запрос XML Siebel (эти данные посылаются через 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>