Я новичок в взаимодействии с клиентом php с веб-сервисом .NET. Я осмотрелся и узнал о сообщениях, подобных приведенным ниже, но ответа на мой вопрос нет..NET web service и php client
How to make a PHP SOAP client and store the result xml in php variables
http://www.php.net/manual/en/soapclient.setsoapheaders.php
Consume a .Net web service using PHP
Клиент PHP SOAP (для запроса и получения ответа) необходим для .NET веб-службы (http://localhost:8080/someexample/myservice.wsdl). Ввода/запрос будет выглядеть следующим образом:
<input>
<the_input name="secondyear">
<authen>
<Teacher>
<teacherid>MrX</teacherid>
<password>t_pass</password>
</Teacher>
<Student>
<studentid>kids</studentid>
<password>s_pass</password>
</Student>
</authen>
<parameters>
<parameter name="maths" value="123" />
<parameter name="physics" value="abc" />
<parameter name="sports" value="def" />
</parameters>
</the_input>
</input>
Вот что я получил, но не работает, и я не уверен, что я нахожусь на правильном пути:
<?php
require_once("lib/nusoap.php");
$url="http://example.com/someexample/myservice.wsdl";
$client = new SoapClient($url);
$teacherid='MrX';
$tpassword='t_pass';
$studentid='kids';
$spassword='s_pass';
$ns = "http://example.com/";
//Body of the Soap Header.
$headerbody = array ('Teacher' => array('teacherid' => $teacherid,
'password' => $tpassword),
'Student' => array('stendentid' => $studentid,
'password' => $spassword));
//Create Soap Header.
$header = new SOAPHeader($ns, 'Authen', $headerbody);
//set the Headers of Soap Client.
$headerparam=$client->__setSoapHeaders($header);
$name ='secondyear';
$service_name = array('the_input'=>$name);
$result =$client->__SoapCall($service_name,$headerparam)
print_r ($result);
?>
я прочитал где-то, чтобы аутентифицировать к веб-службе, нужно поместить параметр проверки подлинности в заголовок php, так что что происходит с телом php или нужно? это параметры? Параметр имеет формат имени и значения, как это сделать в php-массиве? имеется ли какой-либо соответствующий пример? как уже упоминалось, я сделал свое исследование и не понял, как решить эту проблему.