Все еще в пути над моей головой. Не будь слишком злым!
Я подключаюсь к ASP API
от PHP
через SoapClient
и возникли проблемы при передаче аргумента одному из методов. Тем не менее, я получаю результат ошибки и могу успешно их проанализировать (спасибо @AbraCadaver!), Так что я не лаю не на то дерево — просто карабкаюсь по нему неправильно! Я также могу подтвердить, что ручной ввод ключа на странице API работает, поэтому я получил правильные данные.
Исходя из следующего WSDL, правильно ли я форматирую ключ безопасности?
Мой PHP:
$loginResult = $soapClient->Login($securityKey);
Их WSDL:
<s:element name="Login">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SecurityKey" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
FWIW, со своей страницы API:
Login
This function authenticates the user.
Parameters (* required):
SecurityKey*: Security Key
Простой ответ, просто то, о чем я знаю 0. Две вещи:
Login()
функция требует массивSecurityKey
элемент в WSDL выше должен присваивать значение в этом массиве через соответствующий ключ.Это сработало для меня:
$loginResult = $soapClient->Login(array('SecurityKey' => $securityKey));
Других решений пока нет …