2015-06-23 3 views
0

Я нашел этот кусок кода PHP:Преобразовать ответ SOAP XML в объект PHP или массив

<?php 

$client = new SoapClient("http://localhost/code/soap.wsdl"); 

// Soap call with HelloWorld() method 
$something = $client->HelloWorld(array('option1' => 'attribute1')); 

// Convert object to array 
$array = (array)$something; 

Я просто хочу знать, где soap.wsdl проживает или откуда можно скачать soap.wsdl файл для PHP.

+1

WSDL, как правило, обеспечивается с помощью сервиса вы пытаетесь получить доступ к – Machavity

+0

Спасибо @Machavity –

+0

@PriyeRanjan: Где вы нашли этот код? – hakre

ответ

1

Местоположение файла WSDL будет зависеть от API-интерфейса SOAP, который вы вызываете. Проверьте их документацию.

Код примера, который вы предоставили, подразумевает, что они работают локально, и вы размещаете WSDL самостоятельно, на локальном компьютере.

Исследования Редактировать

Видимо, вы можете использовать PHP soap client in non-WSDL mode. Это выполняется путем передачи в null в качестве параметра вместо местоположения файла wsdl.

Also relevant, is this other SO result on non-WSDL mode

+0

Спасибо @Camilo Payan, но API API, который я использую, не предоставляет. Есть ли альтернатива для этого. –

+0

WSDL - это язык, который описывает сервис (я оставил ссылку в ответе). Если вы изучите этот язык и узнаете, какую SOAP-услугу вы собираетесь использовать, вы * можете * записать файл WSDL самостоятельно. Это будет альтернативный подход, который, по крайней мере, технически возможен. В зависимости от вашего сценария это, скорее всего, невозможно в вашей ситуации. Я также догадываюсь, что вы задаете вопрос о том, что вы, вероятно, попадаете в какую-то проблему [x/y] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) , – hakre

+0

Добавил еще мой ответ, @PriyeRanjan, дайте мне знать, если это поможет вам вообще. –

Смежные вопросы