プレーン テキストのユーザー名とパスワードの形式で認証資格情報を必要とする 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 認証のまったくの初心者向けのリソースへのリンクが欲しいです。
ありがとう。PS上記のリンク/資格情報の一部は、プライバシーのためにxxxされている可能性があります.