-1

このアドレスにある Web サービスに接続したい: https://webapp2.rzzo.rs/rzzo/RzzoService?wsdl .net 4.0 C# アプリにサービス参照を追加します。そして、これがこのサービスに接続するために使用した私のコードです:

 ServiceReference1.RzzoServiceClient client = new ServiceReference1.RzzoServiceClient();
            client.ClientCredentials.UserName.UserName = "------";
            client.ClientCredentials.UserName.Password = "-------";
            bool check = client.CheckConnection();

そして、これが私が得なければならないメッセージです(サービスプロバイダーから入手しました):

 <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
utility-1.0.xsd">
    <s:Header>
        <o:Security s:mustUnderstand="1"
xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
secext-1.0.xsd">
            <o:UsernameToken u:Id="uuid-cdf8690a-e56a-4efa-923c-760d22b6748d-7">
                <o:Username>username</o:Username>
                <o:Password>password</o:Password>
            </o:UsernameToken>
        </o:Security>
    </s:Header>
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <GetInsuranceDataF xmlns="http://service.rzzo.rs/">
            <req xmlns="">
                <lbo/>
                <zk>11111111111</zk>
            </req>
        </GetInsuranceDataF>
    </s:Body>
</s:Envelope>

しかし、サービスに接続できません。助けてください

4

1 に答える 1

0

まず、WSDL やサービス ドキュメントをチェックして、必要な認証を確認します。

WSDL は「WSS11」「sp:SignedEncryptedSupportingTokens」を示唆していますが、幸いにも証明書の要件はオフになっているようです。

MSDN はこのスキームを認識しています: http://msdn.microsoft.com/en-us/library/aa738565.aspx
セクション 3.1.1 UsernameOverTransport であるため、サポートする必要があります。

ユーザー名とパスワードの設定は次のように簡単です。

var svc = new SomethingServiceClient(); // your proxy class generated from WSDL
svc.ClientCredentials.UserName.UserName = "someUsername";
svc.ClientCredentials.UserName.Password = "somePassword";

そして、これはまさにあなたがしようとしていると言っていることなので、それは奇妙です.

ユーザー名とパスワードが有効で、このアカウントが無効になっていないことを 100% 確信していますか? あなたは合理的な反応を得ているので、これが問題だと思います..

構成またはバインディングの不一致について不平を言っている場合は、serviceclient 構成 (おそらく yourapp.config にある) を確認し、bindingタグ内に適切なセキュリティ タイプが記述されていることを確認します (例: ) <security authenticationMode="UserNameOverTransport" />。しかし、それは文句ではありません..

ユーザー名とパスワードが有効で、このアカウントが無効になっていないことを 100% 確信していますか? 合理的な応答が得られているので、これが問題であると思います.. エラー メッセージに「トークン」という単語が表示されていることに驚いただけです。おそらく、サーバーから受信する認証トークンがあり、認証を試行するたびにそれを返す必要があります。たとえば、http Cookie ですか? サービスのドキュメントを確認してみてください。

于 2013-06-27T09:58:43.720 に答える