Возникли проблемы с авторизацией php SoapClient с MS Dynamic Great Plains. Я могу подключиться через SoapUI. Тем не менее, он только успешно подключается с 3-й попытки. Кроме того, токен аутентификации постепенно становится длиннее. См. Ссылку на вставку ниже.
Я использовал следующий пакет (https://github.com/mlabrum/NTLMSoap) для настройки потока NTLM, но, похоже, он не отправляет правильный токен. Длина токена меньше, чем длина, отправляемая через SoapUI.
$wsdlUrl = 'http://example.org:48620/Metadata/Legacy/Full/DynamicsGP.wsdl';
$options = [
'ntlm_username' => 'Domain\username',
'ntlm_password' => 'password'
];
$soapClient = new \NTLMSoap\Client($wsdlUrl, $options);
$params = array(
criteria => array(
'ModifiedDate' => array(
'GreaterThan' => '2016-04-18',
'LessThan' => '2016-04-19'
)
),>
'context' => array(
'OrganizationKey' => array(
'type' => 'CompanyKey',
'Id' =
)
)
);
$soapClient->__setLocation('http://example.org:48620/DynamicsGPWebServices/DynamicsGPService.asmx');
$response = $soapClient->GetPurchaseOrderList(array($params));
Я должен был установить использование ___ setLocation (), потому что клиент был перенаправлен Http: // LocalMachine: 48620 / DynamicsGPWebServices / DynamicsGPService.asmx
Я пытался заставить Чарльза веб-прокси работать, чтобы показать фактический запрос / ответ, но мне это безумие.
Это выход SoapUI. http://pastebin.com/7zg4E3qD
Задача ещё не решена.
Других решений пока нет …