5

Java クライアントから、次のバインド構成を持つWCF Web サービスに接続する必要があります。

<basicHttpBinding>
    <binding name="basicHttpBindingSecurity">
        <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Basic"/>
        </security>
    </binding>
</basicHttpBinding>

私はJAX-WSを使用しています。Java クライアントでユーザー名とパスワードを設定する方法を示すコード スニペットを教えてください。

私はこれを試しました:

Map<String, Object> reqContext = ((BindingProvider) port).getRequestContext();
reqContext.put(BindingProvider.USERNAME_PROPERTY, "username");
reqContext.put(BindingProvider.PASSWORD_PROPERTY, "password");

しかし、うまくいきませんでした。私もこれを試しました:

Map<String, Object> reqContext = ((BindingProvider) port).getRequestContext();
reqContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://username:password@localhost:8090/MyService");

まだ成功していません。

ありがとう、ラファル

4

1 に答える 1

2

おっとっと!ごめん...

最初の解決策は機能しますが、WCF サービスの構成を間違えました。したがって、基本的に、これに疲れた同様の問題がある場合:

Map<String, Object> reqContext = ((BindingProvider) port).getRequestContext();
reqContext.put(BindingProvider.USERNAME_PROPERTY, "username");
reqContext.put(BindingProvider.PASSWORD_PROPERTY, "password");

よろしく、ラファル

于 2010-01-30T17:27:20.920 に答える