soapclient obtener ejemplo datos consumir con como php web-services visual-studio wsdl

obtener - web service php soap ejemplo



Cómo consumir fácilmente un servicio web de PHP (7)

Bueno, esas características son específicas de una herramienta que está utilizando para el desarrollo en esos idiomas.

No tendría esas herramientas si (por ejemplo) estuviera usando un bloc de notas para escribir código. Entonces, tal vez deberías hacer la pregunta sobre la herramienta que estás usando.

Para PHP: http://webservices.xml.com/pub/a/ws/2004/03/24/phpws.html

¿Hay disponible alguna herramienta para PHP que pueda usarse para generar código para consumir un servicio web basado en su WSDL ? Algo comparable a hacer clic en "Agregar referencia web" en Visual Studio o en el plugin de Eclipse que hace lo mismo para Java.


Digamos que se te proporcionó lo siguiente:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:int="http://thesite.com/"> <x:Header/> <x:Body> <int:authenticateLogin> <int:LoginId>12345</int:LoginId> </int:authenticateLogin> </x:Body> </x:Envelope>

y

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <authenticateLoginResponse xmlns="http://thesite.com/"> <authenticateLoginResult> <RequestStatus>true</RequestStatus> <UserName>003p0000006XKX3AAO</UserName> <BearerToken>Abcdef1234567890</BearerToken> </authenticateLoginResult> </authenticateLoginResponse> </s:Body> </s:Envelope>

Digamos que al acceder a http://thesite.com/ dijo que la dirección WSDL es: http://thesite.com/PortalIntegratorService.svc?wsdl

$client = new SoapClient(''http://thesite.com/PortalIntegratorService.svc?wsdl''); $result = $client->authenticateLogin(array(''LoginId'' => 12345)); if (!empty($result->authenticateLoginResult->RequestStatus) && !empty($result->authenticateLoginResult->UserName)) { echo ''The username is: ''.$result->authenticateLoginResult->UserName; }

Como puede ver, los elementos especificados en el XML se usan en el código PHP aunque se puede cambiar el valor de LoginId.


En PHP 5, puede usar SoapClient en el WSDL para llamar a las funciones del servicio web. Por ejemplo :

$client = new SoapClient("some.wsdl");

y $ client es ahora un objeto que tiene métodos de clase como se define en some.wsdl. Entonces, si hubiera un método llamado getTime en el WSDL, simplemente llamaría:

$result = $client->getTime();

Y el resultado de eso estaría (obviamente) en la variable $ result. Puede usar el método __getFunctions para devolver una lista de todos los métodos disponibles.


Este article explica cómo puede usar PHP SoapClient para llamar a un servicio web de API.


He tenido un gran éxito con wsdl2php . Automáticamente creará clases de contenedor para todos los objetos y métodos usados ​​en su servicio web.


He usado NuSOAP en el pasado. Me gustó porque es solo un conjunto de archivos PHP que puedes incluir. No hay nada que instalar en el servidor web y no hay opciones de configuración para cambiar. También tiene soporte WSDL, que es una ventaja.