Клиент IBM AS4 (com.ibm.b2b.as4.client) - как настроить прокси-хост? - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь запустить «эталонное» приложение ATO AS4 / ebXML, которое под капотом использует клиент IBM AS4 для отправки сообщений в ATO.

При запуске я получаюNullPointerException изнутри клиента AS4.Похоже, это связано с тем, что на карте 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 голосов
/ 24 апреля 2019

Я идентифицировал ошибку.IBM AS4 EmbeddedClient не смог открыть хранилище ключей (mainKeyStore.jks), но вместо исключения он продолжил работу.В последующем это привело к NullPointerException, не имеющему ничего общего с исходной проблемой хранилища ключей.

Я бы смиренно предложил каждому разработчику на этой планете, что приличные сообщения об ошибках действительно имеют значение .Это был далеко не единичный случай.Мы могли бы экономить миллиарды долларов в год для нашей отрасли (и самим МНОГО причинять боль), создавая четкие и релевантные сообщения об ошибках, которые позволили бы людям решать проблемы немедленно, а не тратить дни или месяцы на их поиск.

...