我正在尝试运行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.
我已经确定了这个错误。 IBM AS4 EmbeddedClient无法打开密钥库(mainKeyStore.jks),但不是抛出异常而是继续。在下游这导致了NullPointerException
没有任何东西可以将它与原始密钥库问题联系起来。
我会谦卑地向这个星球上的每个开发人员建议,体面的错误信息实际上很重要。这绝不是一个孤立的事件。通过生成清晰,相关的错误消息,我们可以每年为我们的行业节省数十亿美元(并且我们自己有很多痛苦),这些消息可以让人们立即解决问题,而不是浪费时间或数月来追捕他们。