【问题标题】:Soap message is turning into digits肥皂消息正在变成数字
【发布时间】:2015-02-04 05:37:08
【问题描述】:

我正在构建一个消息服务,它使用肥皂消息来包含有效负载。我在 weblogic 上配置了一个队列,在将我的肥皂消息发送到该队列后,输出以数字形式返回,看起来由于某种原因对肥皂消息进行了哈希处理。我还使用 MessageTransformer 将肥皂消息转换为 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.

不知道该怎么想,有什么办法可以避免这些数字吗?谢谢!

【问题讨论】:

    标签: soap jms weblogic


    【解决方案1】:

    这些数字是代表字节的十六进制代码。看起来消息是作为 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

    【讨论】:

      猜你喜欢
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      相关资源
      最近更新 更多