肥皂消息正在变成数字

时间:2015-02-02 01:59:27

标签: soap jms weblogic

我正在构建一个消息服务,它使用soap消息来包含有效负载。我在weblogic上配置了一个队列,在将我的soap消息发送到该队列后,输出以数字形式返回,看起来像是由于某种原因在soap消息上进行了散列。我也使用MessageTransformer将soap消息转换为jms消息。

这是输出,

00000000:  0000  00a6  aced  0005  7372  0013  6a61  7661  
...ᆭᆲ...sr..java
00000010:  2e75  7469  6c2e  4861  7368  7461  626c  6513
  .util.Hashtable.
00000020:  bb0f  2521  4ae4  b803  0002  4600  0a6c  6f61
  ᄏ.%!J.ᄌ...F..loa
00000030:  6446  6163  746f  7249  0009  7468  7265  7368  
dFactorI..thresh
00000040:  6f6c  6478  703f  4000  0000  0000  0877  0800  
oldxp?@......w..
00000050:  0000  0b00  0000  0374  000a  534f  4150  4163
  .......t..SOAPAc
00000060:  7469  6f6e  7400  0222  2274  000c  436f  6e74
  tiont..""t..Cont
00000070:  656e  742d  5479  7065  7400  1774  6578  742f  
ent.Typet..text/
00000080:  786d  6c3b  2063  6861  7273  6574  3d55  5446  
xml; charset.UTF
00000090:  2d38  7400  0e43  6f6e  7465  6e74  2d4c  656e  
.8t..Content.Len
000000a0:  6774  6874  0003  3332  3778  0000  0147  3c65 
 gtht..327x...G.e
000000b0:  6e76  3a45  6e76  656c  6f70  6520  786d  6c6e  
nv:Envelope xmln
000000c0:  733a  656e  763d  2268  7474  703a  2f2f  7363  
s:env."http://sc
000000d0:  6865  6d61  732e  786d  6c73  6f61  702e  6f72  
hemas.xmlsoap.or
000000e0:  672f  736f  6170  2f65  6e76  656c  6f70  652f  
g/soap/envelope/
000000f0:  223e  3c65  6e76  3a48  6561  6465  723e  416e  
"..env:Header.An
00000100:  6472  6f69  643c  2f65  6e76  3a48  6561  6465  
droid./env:Heade
00000110:  723e  3c65  6e76  3a42  6f64  793e  3c74  7261  
r..env:Body..tra
00000120:  696e  696e  673a  4a41  5641  2078  6d6c  6e73  
ining:JAVA xmlns
00000130:  3a74  7261  696e  696e  673d  2268  7474  703a 
 :training."http:
00000140:  2f2f  7368  6976  6173  6f66  742e  696e  2f62  
//shivasoft.in/b
00000150:  6c6f  6722  3e3c  5753  3e42  5045  4c3c  2f57 
 log"..WS.BPEL./W
00000160:  533e  3c2f  7472  6169  6e69  6e67  3a4a  4156
  S../training:JAV
00000170:  413e  3c74  7261  696e  696e  673a  4a41  5641 
 A..training:JAVA
00000180:  2078  6d6c  6e73  3a74  7261  696e  696e  673d  
 xmlns:training.
00000190:  2268  7474  703a  2f2f  7368  6976  6173  6f66  
"http://shivasof
000001a0:  742e  696e  2f62  6c6f  6722  3e3c  5370  7269 
 t.in/blog"..Spri
000001b0:  6e67  3e48  6164  6f6f  7020  7472  6169  6e69
  ng.Hadoop traini
000001c0:  6e67  3c2f  5370  7269  6e67  3e3c  2f74  7261 
 ng./Spring../tra
000001d0:  696e  696e  673a  4a41  5641  3e3c  2f65  6e76 
 ining:JAVA../env
000001e0:  3a42  6f64  793e  3c2f  656e  763a  456e  7665 
 :Body../env:Enve
000001f0:  6c6f  7065  3e                                  
lope.

不知道该怎么想,有什么办法可以避免这些数字吗?格拉西亚斯!

1 个答案:

答案 0 :(得分:0)

这些数字是十六进制代码,代表字节。看起来消息是以JMSByteMessage类型发送的。您需要确保在收件人端正确转换为JMSTextMessage。在谷歌上有很多这方面的例子。 或者更简单的解决方案:将消息发送为JMSTextMessage。在这种情况下,不需要特殊转换。

有关JMS消息类型的信息(此处为IBM MQ): http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q032110_.htm

滚动到底部,最后一张图显示了使用文本浏览器打开jms字节消息时的效果(效果与您的情况相同):

http://www.hermesjms.com/confluence/display/HJMS/Sending+a+Message