最近研究IBM-MQ,调用如下最简单的set方法,windowsXP会抛出以下异常:
MQDLH dlh = new MQDLH();
dlh.setDestQName("test");相同代码在Linux上就没有问题Exception in thread "main" java.lang.RuntimeException: java.io.UnsupportedEncodingException: 0
at com.ibm.mq.headers.internal.MQCharField.setValue(MQCharField.java:284)
at com.ibm.mq.headers.internal.Header.setStringValue(Header.java:375)
at com.ibm.mq.headers.MQDLH.setDestQName(MQDLH.java:234)
at com.channelsoft.mq.test.MqClientTest.main(MqClientTest.java:82)
Caused by: java.io.UnsupportedEncodingException: 0
at com.ibm.mq.headers.CCSID.getJmqiCodepage(CCSID.java:99)
at com.ibm.mq.headers.CCSID.getEncoder(CCSID.java:127)
at com.ibm.mq.headers.Charsets.findEncoder(Charsets.java:182)
at com.ibm.mq.headers.Charsets.getEncoder(Charsets.java:174)
at com.ibm.mq.headers.Charsets.convert(Charsets.java:251)
at com.ibm.mq.headers.internal.store.ByteStore.setString(ByteStore.java:304)
at com.ibm.mq.headers.internal.MQCharField.setStringValue(MQCharField.java:202)
at com.ibm.mq.headers.internal.MQCharField.setValue(MQCharField.java:260)
... 3 more