Estoy haciendo mi primer intento de conectarme a un servidor SOAP desde PHP, y no entiendo cómo iniciar sesión y obtener los datos que necesito El servicio al que intento conectarme es el servicio Hawley USA http://hawleyusa.com/thcServices/StoreServices.asmx). He estado viendo algunas publicaciones sobre cómo conectarme, y obtengo los conceptos básicos. Verifiqué que tengo habilitado SOAP en mi PHP, y estoy tratando de obtener una lista de inventario. Aquí está el código que estoy usando:"Error de referencia de objeto no establecido en una instancia de un objeto" al conectar al servidor SOAP desde PHP
<?php
ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
$wsdl_path = "http://hawleyusa.com/thcServices/StoreServices.asmx?WSDL";
$login_id = 'mylogin_id';
$password = 'mypassword';
$client = new SoapClient($wsdl_path);
try {
echo "<pre>\n";
print($client->InventoryList(array("LoginID" => $login_id, "Password" => $password)));
echo "\n";
}
catch (SoapFault $exception) {
echo $exception;
}
Sin embargo, cuando ejecuta este código, me sale este error:
SoapFault exception: [soap:Server] Server was unable to process request. ---> Object reference not set to an instance of an object. in /Users/steve/Sites/mysite/hawley_client.php:12
Cuando la depuración, puedo ver la instancia $ cliente inicia, por lo que' No estoy seguro de por qué estoy recibiendo este error.
Segunda pregunta: ¿Estoy pasando la identificación de usuario y la contraseña correctamente?
Gracias.
actualización: Me tiró $ cliente -> __ getLastRequest, y esto es lo que tengo:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://hawleyusa.com/thcServices/">
<SOAP-ENV:Body>
<ns1:InventoryList/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
para que pueda ver lo que estoy perdiendo mi ID de usuario y contraseña. ¿Cómo los agrego a mi llamada a InventoryList?
A partir del 2017/06/09, el WSDL no está disponible y la pregunta es incompleta ... – Alfabravo