使用MS Dynamic Great Plains授权php SoapClient时遇到困难。我可以通过SoapUI连接。但是,它仅在第3次尝试时成功连接。此外,身份验证令牌逐渐变长。请参阅下面的pastebin链接。
我使用了以下软件包(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
我一直在努力让Charles Web Proxy工作以显示实际的请求/响应,但是它已经扼杀了我。
这是SoapUI输出。 http://pastebin.com/7zg4E3qD