使用仅提供用户名、密码和证书颁发机构的 PHP 连接到 Web 服务
编程 65
我正在使用 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 类是有益的
2025-04-13 15:07:03