1

私はJavaでアプリを開発しています。このアプリは、提供されているドメインユーザー/パスを要求するnavisionで開発されたWebサービスをいつか呼び出す必要があります。

現在、このWSは公開されていません。コードを適切にテストできるように、Webサービスを呼び出すには、異なるユーザー/パスで特定のVPNに接続する必要があります。

電話をかけるたびに、認証を拒否して、応答として401コードを受け取ります。

java.net.authenticatorを使用してデフォルトのオーセンティケーターを設定し、org.apache.commons.httpclientを使用してデフォルトのクレデンシャルを適切なスコープに設定しようとしましたが、それでも肯定的な回答は得られませんでした。

また、100%構成が正しいわけではありませんが、soapUIで外部テストを使用してみましたが成功しませんでした。

とにかく、認証の問題の原因を特定するにはどうすればよいですか?

これは、VPN接続またはRatther Navision Webサービスでテストしているために、何らかの特別な処理が必要なのか、またはこれらの状況の両方が同時に必要なのかはわかりません。

私はどんな考え、アプローチ、またはコメントも歓迎します。

ありがとう

4

1 に答える 1

1

確認すべきことの 1 つは、NAV の中間層の「CustomSettings.config」ファイルの「WebServicesUseNTLMAuthentication」設定です。私の理解では、SPNEGO を使用して認証を行っていない (または使用できない) 場合は、このプロパティを "true" に設定する必要があります。これは、Microsoft が推奨する既定の方法です。

追加の詳細については、このMSDN 記事 を参照してください。

また、Freddy Kristiansen (NAV チームのソフトウェア アーキテクト) は、さまざまなプラットフォームから NAV Web サービスに接続する方法について、ブログに素晴らしい一連の記事を書いています。プロジェクトに最も関連するのは、一般的な NAV Web サービスへの接続と Java からの NAV Web サービスへの接続です。

それが役立つことを願っています。

于 2012-07-17T02:21:48.520 に答える