1

Java から Dynamics NAV 2013 R2 Web サービスにアクセスしようとしています。Web サービスが実行中で、Internet Explorer に URL を入力すると WSDL が表示されますが、最初にユーザー名とパスワードの入力を求められます。Wireshark では、NTLM に基づく認証を使用していることがわかります。Internet Explorer からしか WSDL を開くことができませんでした。Firefox で開くと、空白のページが表示され、エラーは表示されません。

wsimport ツールを使用して Java から Web サービスにアクセスしようとしていますが、認証できません。既にフォルダーを作成しており~/.metro/auth、そこに次の行を入れています。

http://userfoobar:passforbar@192.168.0.170:7047//DynamicsNAV71/WS/CRONUS%20AG/Page/PageWithCapitalization

そして、次の方法でWebページにアクセスしようとしています:

wsimport -d generated -s sources http://@192.168.0.170:7047/DynamicsNAV71/WS/CRONUS%20AG/Page/PageWithCapitalization

私はいつもエラーが発生します:

[ERROR] Server returned HTTP response code: 401 for URL: http://@192.168.0.170:7047/DynamicsNAV71/WS/CRONUS%20AG/Page/PageWithCapitalization,  "http://@192.168.0.170:7047/DynamicsNAV71/WS/CRONUS%20AG/Page/PageWithCapitalization" needs authorization, please provide authorization file with read access at /home/user/.metro/auth or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>

Linux と NAV Webservice を実行する Windows 7 マシンの両方からこれを試しました。NAV で追加の構成を実行する必要がありますか? これを機能させるための特別なトリックはありますか?

4

2 に答える 2

3

デフォルトでは、Nav は Windows Active Directory 認証を使用します。wsimport が Java で何をするのかはわかりませんが、url で提供された資格情報が機能する可能性は低いです。Nav Server Administrationサーバーで承認するか、サーバーのスナップイン (または構成ファイル) で承認タイプを変更するには、ネゴシエーション手順を実行する必要があります。

資格情報の種類についてはこちらを参照してください。サーバーの構成方法についてはこちらをご覧ください。Java から Nav に接続する方法については、Freddy のブログの便利な投稿も参照してください(Nav 2009 用ですが、まだ関連があると思います)。

soapUINTLM 認証タイプを処理できるため、ログでネゴシエーション プロセスを介してすべての要求と応答を確認できます。

于 2014-02-22T08:41:24.650 に答える