Этот код используется SoapClient и отлично работает
Код: Выделить всё
$s_WSPROTOCOL = 'https';
$s_WSHOSTNAME = 'xxxxxxxx.yyyyyy.tdl';
$s_WSPORT = '';
$s_WSPATHNAME = 'webservices/service.asp?WSDL';
$s_WSTIPOOP = 'MyFunction';
$parameters['Username'] = '999';
$parameters['Login'] = 'Master';
$parameters['Password'] = 'universe';
$parameters['IdServ'] = '5';
$parameters['IdCard'] = '555';
$parameters['Controllo'] = '';
echo $s_WSTIPOOP."
";
echo $s_WSPROTOCOL."://".$s_WSHOSTNAME.$s_WSPORT."/".$s_WSPATHNAME."
";
try
{
$SOAP = new SoapClient($s_WSPROTOCOL."://".$s_WSHOSTNAME.$s_WSPORT."/".$s_WSPATHNAME, array('trace' => 1));
$result = $SOAP->__soapCall($s_WSTIPOOP, array("parameters" => $parameters), null);
foreach ($result as $key => $value)
{
echo "".$key."[/b][b]";
print_r($value);
echo "
";
}
}
catch (SoapFault $e)
{
echo "".$e->faultstring."[/b]";
}
Код: Выделить всё
[faultcode] => soap:Client
[faultstring] => Server did not recognize the value of HTTP Header SOAPAction: .
[detail] =>
Код: Выделить всё
require("nusoap/lib/nusoap.php");
error_reporting(E_ALL ^ E_NOTICE);
$ERROR_MSG = '';
$s_WSPROTOCOL = 'https';
$s_WSHOSTNAME = 'xxxxxxxx.yyyyyy.tdl';
$s_WSPORT = '';
$s_WSPATHNAME = 'webservices/service.asp?WSDL';
$s_WSTIPOOP = 'MyFunction';
$parameters['Username'] = '999';
$parameters['Login'] = 'Master';
$parameters['Password'] = 'universe';
$parameters['IdServ'] = '5';
$parameters['IdCard'] = '555';
$parameters['Controllo'] = '';
echo $s_WSTIPOOP."
";
echo $s_WSPROTOCOL."://".$s_WSHOSTNAME.$s_WSPORT."/".$s_WSPATHNAME."
";
$client = new nusoap_client($s_WSPROTOCOL."://".$s_WSHOSTNAME.$s_WSPORT."/".$s_WSPATHNAME);
$result = $client->call($s_WSTIPOOP, $parameters, '');
if ($client->fault) {
echo 'Fault (Expect - The request contains an invalid SOAP body)'; print_r($result); echo '';
} else {
$err = $client->getError();
if ($err) {
echo 'Error' . $err . '';
} else {
echo 'Result'; print_r($result); echo '';
}
}
Подробнее здесь: https://stackoverflow.com/questions/175 ... r-soapacti
Мобильная версия