как звонить веб-сервисам с использованием мыла в php

The following is a sample SOAP 1.1 request and response.: POST /atservices/1.5/atws.asmx HTTP/1.1 Host: webservices2.autotask.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://autotask.net/ATWS/v1_5/getZoneInfo" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getZoneInfo xmlns="http://autotask.net/ATWS/v1_5/"> <UserName>string</UserName> </getZoneInfo> </soap:Body> </soap:Envelope> 

мы хотим вызвать веб-службы автозагрузки, используя мыло в php.can, мы получаем пример для этого, как мы должны называть мыльный клиент.

 Its output should be like this : 

HTTP / 1.1 200 OK Content-Type: text / xml; charset = utf-8 Content-Length: length

 <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getZoneInfoResponse xmlns="http://autotask.net/ATWS/v1_5/"> <getZoneInfoResult> <URL>string</URL> <ErrorCode>int</ErrorCode> <DataBaseType>string</DataBaseType> <CI>int</CI> </getZoneInfoResult> </getZoneInfoResponse> </soap:Body> </soap:Envelope> 

Используйте родной SoapClient PHP вместе с WSDL службы, например:

 $atservices_wsdl = "https://www.autotask.net/atservices/1.5/atws.wsdl"; $atservices_client = new SoapClient($atservices_wsdl); $zone_info = $atservices_client->getZoneInfo("SomeUserName"); print_r($zone_info); // review the returned object converted from SOAP response. echo $zone_info->DataBaseType; // this might work if it's not behind a Response object. 

По крайней мере, вы должны стремиться к чему-то подобному. Подробнее можно найти здесь.

 $soap = new SoapClient('link/to/.wsdl'); $result = $soap->__soapCall('getZoneInfo', array('UserName' => $username)); var_dump($result);