Где мое имя пользователя и пароль должны быть размещены в POST SOAP API - PullRequest
0 голосов
/ 24 января 2019

Я положил вызов API ниже.На данный момент я даже не уверен, что это правильно или нет.Мне нужно добавить свое имя пользователя и пароль в, но не уверен, где.Будем весьма благодарны за любые советы по размещению имени пользователя и пароля.

фон для вызова API состоит в том, что он был отправлен мне почтальоном, где я смог его выполнить.Я смог вытащить тело из почтальона, но мне нужно включить аутентификацию в вызове API.

введите код здесь

library(RCurl)

headerFields =
  c(Accept = "text/xml",
    'Content-Type' = "text/xml; charset=utf-8")

body = '<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sitename.com/bizconnect/SBU">
<SOAP-ENV:Body>
<ns1:GetSBUApplicationData>
<ns1:Subscriber>
<ns1:SubCode>123456</ns1:SubCode>
</ns1:Subscriber>
<ns1:UserID>xxxxxx</ns1:UserID>
<ns1:ReferenceID>A</ns1:ReferenceID>
<ns1:ResponseVersion>010</ns1:ResponseVersion>
<ns1:Application>
<ns1:Id>G020D</ns1:Id>
<ns1:Name/>
<ns1:Key>
<ns1:Field>
<ns1:Id>00920000</ns1:Id>
<ns1:Name/>
<ns1:Value>900000095</ns1:Value>
</ns1:Field>
</ns1:Key>
</ns1:Application>
</ns1:GetSBUApplicationData>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>'

curlPerform(url = "https://stg1-ss1.sitename.com/bizconnect/SBU/service",
            httpheader = headerFields,
            postfields = body
)

1 Ответ

0 голосов
/ 28 января 2019

OK.На данный момент, учитывая, что он работает нормально для вас в почтальоне, я предполагаю, что служба работает с базовой аутентификацией.

В этом случае вам не нужно включать данные аутентификации вSOAP-конверт, вместо этого происходит аутентификация на уровне HTTP.

Предложите попробовать что-то вроде этого;

curlPerform(url = "https://stg1-ss1.sitename.com/bizconnect/SBU/service",
        httpheader = headerFields,
        postfields = body, userpwd = "user:password")

Для более подробной информации я бы предложил пересмотреть раздел 4.2 статьи JStatSoft для RCurl, в которойздесь: http://www.omegahat.net/RCurl/RCurlJSS.pdf

Я не большой поклонник inc, включая учетные данные в файлах кода, поэтому я бы также предложил пересмотреть руководство в документе о том, как преобразовать учетные данные в отдельный парольфайл.Таким образом, вы не сможете случайно проверить учетные данные в вашем контроле версий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...