【发布时间】:2011-04-25 11:31:07
【问题描述】:
我需要连接到需要纯文本用户名和密码形式的身份验证凭据的 Web 服务。
我对 SOAP 有基本的了解,并设法使用 NuSOAP 连接到不需要用户名或密码的其他开放式 Web 服务。
以下内容已发送给我:
<?php
// Set up security options
$security_options = array("useUsernameToken" => TRUE);
$policy = new WSPolicy(array("security" => $security_options));
$security_token = new WSSecurityToken(array(
"user" => "xxx",
"password" => "xxx",
"passwordType" => "basic"));
// Create client with options
$client = new WSClient(array("wsdl" => "https://xxx.asmx?wsdl",
"action" => "http://xxx",
"to" => "https://xxx",
"useWSA" => 'submission',
"CACert" => "cert.pem",
"useSOAP" => 1.1,
"policy" => $policy,
"securityToken" => $security_token));
// Send request and capture response
$proxy = $client->getProxy();
$input_array = array("From" => "2010-01-01 00:00:00",
"To" => "2010-01-31 00:00:00");
$resMessage = $proxy->xxx($input_array);
?>
经过一番研究,我了解到上述实现使用 wso2。我需要能够在不使用 wso2 的情况下做到这一点。
我已尽力寻找有关上述内容的资源(Google、论坛等),但一无所获。我已经阅读了一些关于 SOAP 的教程,并且能够使用 PHP 设置 SOAP 客户端,但无法理解所有的身份验证和“策略”。
非常感谢您解释如何实现这一点,并可能提供一些进一步阅读的链接,因为我正在撕扯我的头发!理想情况下,我想要一些资源链接,供 SOAP 身份验证的绝对初学者使用。
谢谢。 P.S 出于隐私考虑,上面的一些链接/凭据可能已被 xxx 删除。
【问题讨论】:
标签: php authentication soap nusoap wso2