Моя компания публикует набор веб-сервисов .NET, доступных через SOAP. Мне нужно привязать свое PHP-приложение к ним, но я столкнулся с проблемой, для которой не могу найти решение. Одна из служб, к которой мне нужно получить доступ, имеет подпись Advertiser CreateAdvertiser ( Advertiser advertiser )
.
Как я могу передать экземпляр объекта, которого у меня нет (Рекламодатель)? Я пытался создать экземпляр stdClass()
и назначить необходимые свойства .NET Advertiser, но это не сработало. Каким-то образом мне нужно составить объект, который служба распознает, и передать его. Есть идеи, как это сделать?
Конечно, я использую класс SoapClient для PHP.
Очень ценится.
ОБНОВЛЕНИЕ: После долгих проб и ошибок я наконец обнаружил, что первая часть проблемы заключается в том, что не передаются никакие параметры - ни простые скаляры, ни сложные типы. Я попытался использовать именованные параметры: array ( 'name1' => 'val1', 'name2' => 'val2' )
и без имени, но дамп __getLastRequest
показывает пустой вызов метода:
...<SOAP-ENV:Body><ns1:CreateAdvertiser/></SOAP-ENV:Body>...
Мне нужно решить эту проблему, прежде чем беспокоиться о следующей, я думаю.