До сих пор на проде сидим на Domino 8.5.3FP6 HF1840, т.к. это довольно-таки стабильный релиз. Переезд в рамках всей конторы - очень тяжёлый процесс, - есть много критических процессов, которые должны работать в любом случае. По этим причинам переход постоянно отодвигался, пока дело не дошло до Lotus'а - контора глобально переезжает с шины ESB на IIB (IBM Integration Bus), а Lotus < 9.0.3 не поддерживает алгоритм шифрования SHA-256, который используется в IIB.
Web-сервисы перенесли "один к одному" и тут возникла принеприятнейшая ситуация - те сервисы, которые возвращают информацию об ошибке с помощью генерации исключения на FP8-FP10 заваливают лотусовые агенты с таким стеком:
Ошибка такая даже при вызове через http.
Пока что единственный выход - переделать сервисы на возврат инфы об ошибке в объекте. Этот подход работает. Но это куча дурной работы - на стороне IIB WSDL пишется практически вручную, т.к. сгенеренный автоматически не затягивается в Lotus.
Web-сервисы перенесли "один к одному" и тут возникла принеприятнейшая ситуация - те сервисы, которые возвращают информацию об ошибке с помощью генерации исключения на FP8-FP10 заваливают лотусовые агенты с таким стеком:
Код:
lotus.domino.axis.InternalFault.makeFault(Unknown Source)
lotus.domino.axis.client.Call.invoke(Unknown Source)
lotus.domino.axis.client.Call.invoke(Unknown Source)
lotus.domino.axis.client.Call.invoke(Unknown Source)
lotus.domino.websvc.client.Call.invoke(Unknown Source)
-- здесь строки вызова нашего агента и внешнего сервиса --
предыдущий стек из массива исключений:
lotus.domino.axis.message.RPCHandler.onStartChild(Unknown Source)
lotus.domino.axis.encoding.DeserializationContextImpl.startElement(Unknown Source)
lotus.domino.axis.message.SAX2EventRecorder.replay(Unknown Source)
lotus.domino.axis.message.MessageElement.publishToHandler(Unknown Source)
lotus.domino.axis.message.RPCElement.deserialize(Unknown Source)
lotus.domino.axis.message.RPCElement.getParams(Unknown Source)
lotus.domino.axis.client.Call.invoke(Unknown Source)
lotus.domino.axis.client.Call.invoke(Unknown Source)
lotus.domino.axis.client.Call.invoke(Unknown Source)
lotus.domino.websvc.client.Call.invoke(Unknown Source)
-- здесь строки вызова нашего агента и внешнего сервиса --
lotus.domino.AgentBase.runNotes(Unknown Source)
lotus.domino.NotesThread.run(Unknown Source)
Результат работы сервиса: ; nested exception is: java.lang.NullPointerException
Пока что единственный выход - переделать сервисы на возврат инфы об ошибке в объекте. Этот подход работает. Но это куча дурной работы - на стороне IIB WSDL пишется практически вручную, т.к. сгенеренный автоматически не затягивается в Lotus.
Последнее редактирование: