|
Подключение к сервису на базе siebel. Проблема авторизации. | ☑ | ||
---|---|---|---|---|
0
fduch1
21.12.23
✎
13:16
|
Друзья, возникла проблема с подключением к веб сервису на базе сибл(оракл). Суть в следующем, необходимо передать пакет XDTO веб сервису. Авторизация происходит в заголовке пакета следующим образом:
<soap:Envelope xmlns:soap=""" target="_blank">http://schemas.xmlsoap.org/soap/envelope/""> <soap:Header> <UsernameToken>user</UsernameToken> <PasswordText>pass</PasswordText> <SessionType>None</SessionType> </soap:Header> Авторизация через прокси WSПрокси не проходит, сервис возвращает ошибку некорректного разбора сообщения. Что пробовал делать - передача SOAP пакета через HTTP-запрос. Вот на него сервис вообще не реагирует - ошибка HTTP 500. Может, кто нибудь сталкивался, у меня уже идеи заканчиваются, как достучаться до это этого веб-сервиса. |
|||
1
бегинер
21.12.23
✎
14:00
|
попробуй через SoapUI добиться коннекта, потом уж из 1С
https://soapui.ru/ |
|||
2
fduch1
22.12.23
✎
10:36
|
(1) Из SoapUI все проходит без проблем. Может есть какая-либо api для SoapUI , куда можно запихнуть soap пакет и отправить из 1С?
|
|||
3
NorthWind
22.12.23
✎
11:15
|
> Авторизация через прокси WSПрокси не проходит, сервис возвращает ошибку некорректного разбора сообщения.
> Из SoapUI все проходит без проблем. Кодировку проверьте. BOM в особенности. |
|||
4
fduch1
22.12.23
✎
11:52
|
(3) Извините, наверное не совсем точно выразился. Сейчас в soapui отправляется пакет вида:
СтрокаSOAP = "<soap:Envelope xmlns:soap=""" target="_blank">http://schemas.xmlsoap.org/soap/envelope/""> |<soap:Header> |<UsernameToken>user</UsernameToken> |<PasswordText>pass</PasswordText> |<SessionType>None</SessionType> |</soap:Header> |<soap:Body> |<m:ReceiveWarrantyClaim1C_Input xmlns:m=""" target="_blank">http://siebel.com/CustomUI""> | " +лХМЛ+ " |<m:g_ProcessName xmlns:xs=""http://www.w3.org/2001/XMLSchema"" |xmlns:xsi=""" target="_blank">http://www.w3.org/2001/XMLSchema-instance""/> |</m:ReceiveWarrantyClaim1C_Input> |</soap:Body> |</soap:Envelope> "; XDTO формирует пакет без заголовка, без секции header. Как пример привожу ниже, формируется пакет средствами платформы, перехвачен в wireshark. СтрокаSOAP = "<soap:Envelope xmlns:soap=""" target="_blank">http://schemas.xmlsoap.org/soap/envelope/""> |<soap:Body> |<m:ReceiveWarrantyClaim1C_Input xmlns:m=""" target="_blank">http://siebel.com/CustomUI""> | " +лХМЛ+ " |<m:g_ProcessName xmlns:xs=""http://www.w3.org/2001/XMLSchema"" |xmlns:xsi=""" target="_blank">http://www.w3.org/2001/XMLSchema-instance""/> |</m:ReceiveWarrantyClaim1C_Input> |</soap:Body> |</soap:Envelope> "; Кодировку, я конечно, проверю, от нас уходит в utf-8, как и требует веб сервис. А вот как силами XDTO сформировать пакет с header по полученной wsdl никак не понимаю. |
|||
5
dmt
22.12.23
✎
14:28
|
(4) СтрокаSOAP = СтрЗаменить(СтрокаSOAP, "<soap:Body>", ТекстХедера + "<soap:Body>")
|
|||
6
fduch1
22.12.23
✎
14:33
|
Спасибо. Проблема решена. Необходимо было в заголовке пакета "SOAPAction" проставить действие в двойные кавычки:
Заголовки.Вставить("SOAPAction", """document/http://siebel.com/CustomUI:method"""); |
|||
7
fduch1
22.12.23
✎
14:47
|
(6) Отмечу, что вызов через XDTOПрокси так и не прошел, только через HTTPЗапрос.
|
|||
8
fduch1
22.12.23
✎
15:29
|
*WSПрокси
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |