我们在 Java (Java EE) 应用程序上工作,我们生成 XML 文件,以便将它们发送到远程 .NET 应用程序,同时读取 MSMQ。XML 文件由 JDom 生成,如下所示:
// add elements...
Document doc = new Document(root);
String XmlData = new XMLOutputter(Format.getPrettyFormat().setOmitEncoding(true)).outputString(doc);
try {
SendFile( XmlData, "title" , "path");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (MessageQueueException e) {
e.printStackTrace();
}
然后我们使用这个函数,使用MsmqJava 库发送文件:
private void SendFile(String data, String title, String outputPath) throws UnsupportedEncodingException, MessageQueueException{
String qname="name_of_the_queue";
String fullname= "server_path" + qname;
String body = data;
String label = title;
String correlationId= "L:none";
try {
Queue queue= new Queue(fullname);
Message msg= new Message(body, label, correlationId);
queue.send(msg);
} catch (MessageQueueException ex1) {
System.out.println("Put failure: " + ex1.toString());
}
}
他们正确接收了文件,但他们告诉我们 bodyType 设置为“VT_EMPTY”,而他们想要“VT_BSTR”,我们还没有找到有关如何解决此问题的线索。如果您知道另一个可以完成这项工作的库,或者该库的解决方法,我们可以毫无问题地进行更改。
谢谢 !