SOAP. запрос к веб-сервису. проблемы

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
Аватара пользователя
timofei
Старожил
Сообщения: 39
Зарегистрирован: 15 сен 2005, 11:42
Откуда: Эстония, Таллин
Контактная информация:

SOAP. запрос к веб-сервису. проблемы

Сообщение timofei » 19 сен 2012, 17:27

Вопрос:
Есть веб-сервис, есть WSDL, где для сообщения прописано

Код: Выделить всё

<message name="GetMobileAuthenticateStatusResponse">
    <part name="Status" type="xsd:string"/>
    <part name="Signature" type="xsd:string"/>
</message>

при определенных ситуациях, веб-сервис возвращает:

Код: Выделить всё

<d:GetMobileAuthenticateStatusResponse>
    <Status xsi:type="xsd:string">OUTSTANDING_TRANSACTION</Status>
</d:GetMobileAuthenticateStatusResponse>

не присылая "Signature".
и именно при этом выдается ошибка: "Error receiving Web Service Response: Wrong XML token encountered during primitive type deserialization (11773)"

что можно с этим сделать, чтоб работало?

10.1B03 под AIX 6.1 64-bit

Аватара пользователя
Arelav
Администратор
Сообщения: 1881
Зарегистрирован: 25 мар 2005, 17:05
Откуда: Progress Technologies
Контактная информация:

Re: SOAP. запрос к веб-сервису. проблемы

Сообщение Arelav » 19 сен 2012, 17:40

ProKB говорит что вроде как баг
http://knowledgebase.progress.com/artic ... opup=false

Но вы и так на 10.1B03 (старая версия, не поддерживаемая) Есть возможность опробовать на более новой?

Здесь http://knowledgebase.progress.com/progresskbsearch в поиске введи " Wrong XML token encountered during primitive type deserialization" там еще какие-то статьи есть по теме.

Аватара пользователя
timofei
Старожил
Сообщения: 39
Зарегистрирован: 15 сен 2005, 11:42
Откуда: Эстония, Таллин
Контактная информация:

Re: SOAP. запрос к веб-сервису. проблемы

Сообщение timofei » 19 сен 2012, 17:56

Arelav писал(а):Но вы и так на 10.1B03 (старая версия, не поддерживаемая) Есть возможность опробовать на более новой?


10.2B04 - те же проблемы :(

Аватара пользователя
Arelav
Администратор
Сообщения: 1881
Зарегистрирован: 25 мар 2005, 17:05
Откуда: Progress Technologies
Контактная информация:

Re: SOAP. запрос к веб-сервису. проблемы

Сообщение Arelav » 19 сен 2012, 18:12

Там тоже возможно БАГ
http://knowledgebase.progress.com/artic ... opup=false
    Environment
    OpenEdge 10.2B05
    All Supported Operating Systems
    Question/Problem Description
    The following error is raised when an ABL client invokes web service when a response header callback procedure is set:

    Error receiving Web Service Response: Wrong XML token encountered during primitive type deserialization (11773)

    There is no SOAP fault, only the ABL message on the ERROR-STATUS system handle.

    Clarifying Information
    If no response header callback procedure is set, the error does not occur.
    Error Message
    Error receiving Web Service Response: Wrong XML token encountered during primitive type deserialization (11773)
    Defect/Enhancement Number
    Defect OE00215988
    Cause
    The internal 'tokenizer' to navigate soap header data is not being reset back to its original state when the callback handler is done parsing soap header data.
    Resolution
    Upgrade to OpenEdge 10.2B06.


Недавно вышел еще SP07

Аватара пользователя
Arelav
Администратор
Сообщения: 1881
Зарегистрирован: 25 мар 2005, 17:05
Откуда: Progress Technologies
Контактная информация:

Re: SOAP. запрос к веб-сервису. проблемы

Сообщение Arelav » 19 сен 2012, 18:14

Вот еще
http://knowledgebase.progress.com/artic ... opup=false
    Environment
    OpenEdge
    10.x
    All Supported Operating Systems
    Question/Problem Description
    Error receiving Web Service Response: Wrong xml token encountered during primitive type serialization (11773)

    Wrong xml token encountered during primitive type serialization (11773)

    The OpenEdge Web Service client returns error 11773 when receiving a SOAP Response.
    Clarifying Information
    Error Message
    Error receiving Web Service Response: Wrong xml token encountered during primitive type serialization (11773)
    Defect/Enhancement Number
    Cause
    The SOAP Response does not conform with the definition inside the WSDL document. For example, the SOAP Response is missing an XML element which is mandatory according to the definition inside the WSDL document.

    Resolution
    Please contact the Web Service provider to request a new WSDL document which corresponds with the SOAP Response. Alternatively ask the Web Service provider to change the SOAP Response in order to conform with the WSDL document.




Аватара пользователя
timofei
Старожил
Сообщения: 39
Зарегистрирован: 15 сен 2005, 11:42
Откуда: Эстония, Таллин
Контактная информация:

Re: SOAP. запрос к веб-сервису. проблемы

Сообщение timofei » 19 сен 2012, 18:20

Arelav писал(а):Resolution
Please contact the Web Service provider to request a new WSDL document which corresponds with the SOAP Response. Alternatively ask the Web Service provider to change the SOAP Response in order to conform with the WSDL document.



уже. жду, что ответят. очень не хочется делать соап-клиент самому

Аватара пользователя
timofei
Старожил
Сообщения: 39
Зарегистрирован: 15 сен 2005, 11:42
Откуда: Эстония, Таллин
Контактная информация:

Re: SOAP. запрос к веб-сервису. проблемы

Сообщение timofei » 19 сен 2012, 18:36

Arelav писал(а):Upgrade to OpenEdge 10.2B06.


и тоже не работает

Аватара пользователя
timofei
Старожил
Сообщения: 39
Зарегистрирован: 15 сен 2005, 11:42
Откуда: Эстония, Таллин
Контактная информация:

Re: SOAP. запрос к веб-сервису. проблемы

Сообщение timofei » 19 сен 2012, 19:07

Arelav писал(а):ProKB говорит что вроде как баг


а может есть возможность использовать вместо соап-процедур функции, которые возвращают ответ в виде комплексных данных?

типа вместо:

RUN GetMobileAuthenticateStatus IN hDigiDocServicePortType(INPUT Sesscode, INPUT FALSE, OUTPUT Status1, OUTPUT Signature).

result = GetMobileAuthenticateStatus IN hDigiDocServicePortType(INPUT Sesscode, INPUT FALSE).

а я бы уже сам разобрался, что там к чему в ответе...