web-dev-qa-db-ja.com

WSSE SOAPヘッダーをWebリファレンスに追加

WSSE SOAPヘッダーをサービス呼び出しに追加しようとしていますが、ほとんどの例はWCFに焦点を当てています。WCFを使用していません。Webリファレンス(WSDL)を追加しました。 )。

GetWebRequestメソッドをオーバーライドするなど、さまざまなメソッドを試しましたが、成功しませんでした。

    protected override System.Net.WebRequest GetWebRequest(Uri uri)
    {
        string user = "username";
        string pwd = "password";

        System.Net.WebRequest request = base.GetWebRequest(uri);

        string auth = string.Format("Basic {0}", Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(string.Format("{0}:{1}", user, pwd))));
        request.PreAuthenticate = true;
        request.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested;
        request.Headers.Add(HttpRequestHeader.Authorization, auth);

        return request;
    }

WSSEセキュリティヘッダーは次のようになります。

<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <UsernameToken>
            <Username>username</Username>
            <Password>password</Password>
         </UsernameToken>
      </Security>

よろしくお願いします!敬具、

8
Richard Bailey
5
Richard Bailey