0

私は次のようなPHPSoapClientをインスタンス化しています。

$client = new SoapClient('http://localhost:8731/MathService?wsdl',array(
'login' => "test2", 'password' => "test"));

上記でこれを行うと、リクエストには次のものが含まれます。

Authorization: Basic dGVzdDI6dGVzdA==

しかし、上記は私のCustomUserNamePasswordValidatorによって取得されていません。コンソールアプリでWCFサービスを実行しているだけなので、サービスホストでクライアントクレデンシャルを設定する方法がわかりません。基本HTTPとMessage="UserName"でTransportWithCredentialOnlyを使用しています。私のCustomUserNamePasswordValidatorは、ユーザー名とパスワードとしてtestとtestを受け入れるようにハードコーディングされていますが、test2をSoapClientに渡しても、操作は成功します。

4

1 に答える 1

0

セキュリティモードをTransportCredentialOnlyに変更し、トランスポートclientCredentialTypeをBasicに変更しましたが、機能しました。

于 2011-05-25T14:23:21.223 に答える