IBM AS4客户端(com.ibm.b2b.as4.client)-如何设置代理主机?

时间:2019-02-06 01:06:53

标签: java configuration ebxml

我正在尝试运行ATO AS4 / ebXML“引用”应用程序,该应用程序在后台使用IBM AS4客户端将消息发布到ATO。

运行它时,我从AS4客户端中获得了NullPointerException。看来这是由于HttpDestination映射具有带有空值的“ HttpProxyHost”键。

鉴于这是一个收缩包装的库,我该如何从地图上删除此键或为其分配值?如果是配置项,则在哪里配置?

FWIW我没有通过代理运行,我希望AS4客户端可以支持它。

com.ibm.b2b.as4.client.AS4ClientException: BCKAS4010E
        at com.ibm.b2b.as4.client.internal.RequestImpl.sendBDO(RequestImpl.java:279)
        at com.ibm.b2b.as4.client.internal.RequestImpl.send(RequestImpl.java:226)
        at au.gov.sbr.sdk.embeddedClient.ReferenceClient.main(ReferenceClient.java:375)
Caused by: com.ibm.b2b.apiint.exception.B2BException: java.lang.NullPointerException
        at com.ibm.b2b.comms.as4.core.service.impl.AS4OutboundTargetService.invokeService(AS4OutboundTargetService.java:403)
        at com.ibm.b2b.as4.client.internal.RequestImpl.invokeAS4targetService(RequestImpl.java:311)
        at com.ibm.b2b.as4.client.internal.RequestImpl.sendBDO(RequestImpl.java:246)
        ... 2 more
Caused by: java.lang.NullPointerException
        at java.util.concurrent.ConcurrentHashMap.putVal(Unknown Source)
        at java.util.concurrent.ConcurrentHashMap.putAll(Unknown Source)
        at com.ibm.b2b.comms.common.util.EbMSContext.setAllProperties(EbMSContext.java:153)
        at com.ibm.b2b.as4.client.internal.AS4ConfigLookupUnitImpl.doHTTPDestinationLookup(AS4ConfigLookupUnitImpl.java:340)
        at com.ibm.b2b.comms.as4.core.service.impl.AS4OutboundTargetService.getAptDestination(AS4OutboundTargetService.java:1393)
        at com.ibm.b2b.comms.as4.core.service.impl.AS4OutboundTargetService.initEbMSContext(AS4OutboundTargetService.java:1184)
        at com.ibm.b2b.comms.as4.core.service.impl.AS4OutboundTargetService.invokeService(AS4OutboundTargetService.java:292)
        ... 4 more
Feb 06, 2019 10:37:22 AM au.gov.sbr.sdk.embeddedClient.ReferenceClient main
SEVERE: Message Send Failed.

1 个答案:

答案 0 :(得分:0)

我已确定故障。 IBM AS4 EmbeddedClient无法打开密钥库(mainKeyStore.jks),但是没有引发异常,而是继续。在下游,这导致NullPointerException根本无法将其链接到原始密钥库问题。

我会谦虚地建议这个星球上的每个开发人员,正确的错误消息实际上很重要。这绝不是孤立的事件。通过产生清晰,相关的错误消息,使人们能够立即解决问题,而不是浪费几天或几个月的时间来解决问题,我们每年可以为我们的行业节省数十亿美元(以及我们自己的很多痛苦)。