|
Webservice 1C. Развернуть, исходя из запроса | ☑ | ||
---|---|---|---|---|
0
seller7
25.07.20
✎
13:45
|
Есть достаточно необычная задача: необходимо развернуть вебсервис 1С, исходя из SOAP запроса, который отправляет Клиент. Что было сделано: запросили XSD, загрузили в XDTO-пакет, развернули вебсервис с нужными методам. Но не работает (ошибка 500). Может кто сталкивался, помогите плиз. Вот пример запроса:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> <requestRootId xmlns="http://schemas.microsoft.com/application-insights">100100</requestRootId> <requestId xmlns="http://schemas.microsoft.com/application-insights">451289</requestId> </s:Header> <s:Body> <GetPrice xmlns="http://tempuri.org/"> <priceRequest xmlns:a="http://schemas.datacontract.org/2004/07/com.Ordering" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <a:Currency>EUR</a:Currency> <a:CurReference>12345</a:CurReference> <a:CurNumber>843</a:CurNumber> <a:LocationCode>LocationCode1</a:LocationCode> <a:OrderType>Stock</a:OrderType> <a:Parts> <a:Part> <a:PartNumber>1825005</a:PartNumber> <a:Quantity>1</a:Quantity> <a:UnitOfMeasure>Piece</a:UnitOfMeasure> </a:Part> <a:Parts> </priceRequest> </GetPrice> </s:Body> </s:Envelope> |
|||
1
vde69
25.07.20
✎
14:08
|
Закывающий тег написан с ошибкой, без слеша
|
|||
2
seller7
25.07.20
✎
14:23
|
(1) как я вижу, везде закрываются теги. Дело в том, что этот запрос не нами написан, а Клиентом, который требует под этот запрос развернуть вебсервис
|
|||
3
acht
25.07.20
✎
14:34
|
(2) > как я вижу
</a:Part> <a:Parts> </priceRequest> Так клиенту и передайте |
|||
4
seller7
25.07.20
✎
14:38
|
(1) (3) спасибо, за замечание. А если допустить, что он все-таки будет закрываться, то как от запроса развернуть вебсервис (обычно же на оборот: разворачивают вебсервис и под него уже делаются запросы)
|
|||
5
vde69
25.07.20
✎
14:53
|
(4) это неважно, вебсервис работает по определённой схеме xdto, эту схему вполне можно нарисовать по запросу
|
|||
6
acht
25.07.20
✎
14:57
|
(4) Непонятно, что вы там в (0) делали - "Что было сделано: запросили XSD, загрузили в XDTO-пакет, развернули вебсервис с нужными методам".
Запросить у клиента полную спецификацию. По стандарту SOAP, все что происходит внутри Body - оно на усмотрение сервиса. Можно пробовать угадывать мысли, опираясь на https://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383533 Но как вы там будете отличать список от одиночного элемента, выделять обязательные или nillable параметры - науке неизвестно. |
|||
7
acht
25.07.20
✎
14:59
|
(5) Ну нарисуй по приведенному запросу структуру ожидаемого ответа.
|
|||
8
seller7
25.07.20
✎
15:11
|
(5) так и сделано: их схема загружена успешно в пакет XDTO, на основе которого развернут вебсервис, но только он не принимает такой запрос, который указал в шапке (с учетом корректного закрытия тега)
|
|||
9
acht
25.07.20
✎
15:14
|
(8) показывай их схему
|
|||
10
Serginio1
25.07.20
✎
16:56
|
А 1С вообще хидеры поддерживает? v8: soap:Header
|
|||
11
acht
25.07.20
✎
17:06
|
(10) ЕМНИП посылать не умеет, при запросе к себе - игнорирует.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |