jeremylivingston/exfoliate

轻量级的PHP SOAP包装器

v1.0.1 2016-04-12 02:58 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:18:26 UTC


README

Build Status

Exfoliate 是 SoapClient 核心类的一个轻量级 PHP 包装器。

这个库的存在是为了使与基于 SOAP 的 Web 服务的交互不那么痛苦。Exfoliate 将 SOAP 异常包装在基于事件的异常类中。

Exfoliate SoapClient 能够在不初始化与 Web 服务的连接的情况下构建。这种能力可以提高性能,并且还可以改善连接异常的处理。

安装

建议的安装方法是使用 composer

php composer.phar require jeremylivingston/exfoliate:dev-master

安装 Exfoliate 库后,只需创建一个新的客户端实例并调用您想要的任何 Web 服务方法

<?php

use Exfoliate\SoapClient;

$client = new SoapClient('my-service-url', array('trace' => true));
$response = $client->call('GetUser', array('user_id' => 1234));

使用 Exfoliate\SoapClient::setHeaders() 方法在客户端初始化时设置任何 SOAP 头部

<?php

use Exfoliate\SoapClient;

$client = new SoapClient('my-service-url', array('trace' => true));

$client->setHeaders(
    new \SoapHeader('my-namespace', 'Auth', array('User' => 'me', 'Password' => 'pw'))
);

$response = $client->call('GetUser', array('user_id' => 1234));

您可以通过分别使用 Exfoliate\SoapClient::getLastRequest()Exfoliate\SoapClient::getLastResponse() 方法来检索最新的请求和响应内容

<?php

use Exfoliate\SoapClient;

$client = new SoapClient('my-service-url', array('trace' => true));
$response = $client->call('GetUser', array('user_id' => 1234));

$lastRequest = $client->getLastRequest();
$lastResponse = $client->getLastResponse();