Windows チャレンジ/レスポンス(NTLM
)は、Windowsオペレーティングシステムを実行するシステムとスタンドアロンシステムを含むネットワークで使用される認証プロトコルです。 org.apache.http.client.HttpClient
バージョン4.4
を使用してNTLM
認証を処理することができました。
ここで私が使用しているMavenの依存関係を示します(メソッドとメソッドの名前は、他のバージョンでは若干異なる場合があります)。
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.4</version>
</dependency>
実装には、次のインポートが必要です。これは非SSL接続の基本要件です。
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.NTCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.HttpClientBuilder;
ここに実装があります。 Username
、Password
、およびDomain
を実際の資格情報で置き換える必要があります。
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
HttpClient httpClient = HttpClientBuilder.create()
.setDefaultCredentialsProvider(credentialsProvider)
.build();
credentialsProvider.setCredentials(AuthScope.ANY, new NTCredentials("Username", "Password", null, "Domain"));
このhttpクライアントは、Dynamics NAV APIと通信するために使用できます。
しかし、私の地域(アジア)内でMicrosoft Dynamics NAVの無料のテスト環境を見つけることができませんでした。しかし、ほとんどのクラウドサービスプロバイダは、他の地域で無料のテストを実施しています。
Linuxユーザーとして、私は仮想環境にWindowsをインストールし、それにDynamics NAVをインストールしてテスト環境を作成する必要がありました。 Dockerに精通している場合は、this linkからDynamics NAV Dockerイメージをダウンロードできます。