37
try
{
38
39
Session session = connection.createSession(
false
, Session.AUTO_ACKNOWLEDGE);
40
41
Message message = session.createMessage();
42
43
//这个属性用来标示请求是否是 WSDL 请求,后面的 Listener 会根据它来调用具体
的 WebService。
44
45
message.setBooleanProperty("isWsdl",
true
);
46
47
message.setJMSReplyTo(session.createTemporaryQueue());
48
49
session.createProducer(queue).send(message);
50
51
//等待回复消息,它里面包含 Service 返回的 WSDL,这里使用了一个选择器。
52
53
String selector = String.format("JMSCorrelationID='%s'", message.getJMSMessageID());
54
55
MessageConsumer consumer = session.createConsumer(message.getJMSReplyTo(),
selector);
56
57
TextMessage replyMessage = (TextMessage) consumer.receive();
58
59
//将 WSDL 返回给客户端。
60
61
resp.getWriter().write(replyMessage.getText());
62
63
}
catch
(Exception e) {
64
65
e.printStackTrace();
66
67
}
68
69
}
70
71
}
72
73
protected
void
doPost(HttpServletRequest req, HttpServletResponse resp) {
74
75
try
{
76