我正在使用 Microsoft C# 成功连接到 Microsoft Web 服务。我必须提供用户名、密码(在 C# 代码中);并将证书(.cer 格式)安装到系统证书的“根证书颁发机构”部分。
如何在 PHP 中连接到这样的 Web 服务?我问的原因是我见过的所有方法(例如创建 SoapClient 子类的 wsdl2php)似乎都假设了各种东西,例如 SSL 证书、SSL key 文件和 SSL key 密码。
所以这一切让我感到困惑。我不确定应该去哪里。我不确定我的“根证书颁发机构”(.cer 文件)应该放在哪里,以及用户名和密码应该放在哪里。有什么想法吗?
最佳答案
所有这些都可以用 soapclient 完成和 stream_context_create使用 ssl options
<?php
$context = stream_context_create(array(
'https' => array(
'cafile' => '/path to file',
'verify_peer' => true
)));
new soapclient("https://localhost/index.php?wsdl",array(
'login'=>'admin',
'password'=>'passss',
'stream_context'=> $context
));
在 soap 中不使用 http auth 而只是一个 soap-call 的情况并不少见,文档是必不可少的
使用 soapclient 和使用类映射的类将 soaptypes 映射到 php 类是有益的
关于php - 使用仅提供用户名、密码和证书颁发机构的 PHP 连接到 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6830137/