Проблема DD не может либо некорректно импортирует сторонние WSDL

VladSh

начинающий
Lotus Team
11.12.2009
1 803
164
BIT
276
У нас опять поднялся вопрос покупки поддержки, т.к. все системы регулярно обновляются - используют новые версии SOAP и WSDL, а мы как лошары не можем заимпортить WSDL даже с IBM Integration Bus, потому что Lotus (даже FP9) работает под версиями . Подскажите, плз, в v10 что-то изменилось в этом плане в лучшую сторону?
Если нет, то забросьте, пожалуйста, фичреквест, потому что оно уже реально жмёт.
 
Обнаружили, что при импорте WSDL, сгенерированного IIB, получили
Java:
public void getPPCardInfoByDocId(com.fuib.esb.esb_prioritypass.types.GetPPCardInfoByDocIdRequestType request) throws java.rmi.RemoteException;
а должны были
Java:
public com.fuib.esb.esb_prioritypass.types.GetPPCardInfoByDocIdResponseType getPPCardInfoByDocId(com.fuib.esb.esb_prioritypass.types.GetPPCardInfoByDocIdRequestType request) throws java.rmi.RemoteException;

Разраб сервиса на стороне IIB разбирался; ниже его ответ.

Нельзя просто
XML:
<xsd:element ibmSchExtn:docRoot="true" name="getPPCardInfoByDocId" type=”GetPPCardInfoByDocIdType”/>

Domino Designer требует
XML:
<xsd:element ibmSchExtn:docRoot="true" name="getPPCardInfoByDocId">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="request" type="bons0:GetPPCardInfoByDocIdRequestType"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>
Даже если GetPPCardInfoByDocIdType содержит это объявление.

Нельзя просто
XML:
<xsd:element name="baseResponseType">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="retCode" type="xsd:string"/>
            <xsd:element name="retMessage" type="xsd:string"/>
            <xsd:element minOccurs="0" name="detailMessage" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>
Нужно через промежуточный элемент.

И тому подобные мелочи, которые можно по стандарту.
 
@VladSh консумер пытаетесь загрузить? Или вам прислали wsdl на создание провайдера?
 
savl
консумер.

lmike
Ну да. У нас вся контора глобально переходит на REST, а эти сервисы переехали на новую шину as is.
Нас уже просили создавать свои сервисы на REST, но я не пробовал ни разу и пока не копал в эту сторону.
 
Надо через JDK wsimport и грузить всё в агента, а доминошный consumer, построенный на Axis1 (которым сто лет уже никто не пользуется), давно уже современные wsdl не понимает и генерит какую-то непоребную шнягу.
 
  • Нравится
Реакции: savl и VladSh
@VladSh да, как @garrick сказал, в агента это дело запихнуть.
Сами так делаем + можно будет логирование сделать запроса и ответа, почти из коробки.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!