Summary
When attempting to integration UIM 8.2 with the NFA 9.3.1 using the nfa_inventory probe, you may see the error below in the nfa_inventory probe log:
[Connection tester - 0, nfa_inventory] **** NFA API URI: http://x.x.x.x:80/ReporterDataSource/InventoryWS.svc/GetNFAUrls
[Connection tester - 0, nfa_inventory] HTTP request to NFA status line: HTTP/1.1 404 Not Found
[Connection tester - 0, nfa_inventory] Response from HTTP request to NFA was: 404
[Connection tester - 0, nfa_inventory] Exception occurred while attempting HTTP request to NFA at x.x.x.x
[Connection tester - 0, nfa_inventory] org.apache.http.client.HttpResponseException: Response from API was not 200 OK. The status code was: 404
at com.nimsoft.probe.network.nfa_inventory.util.RestfulClient.executeHttpRequest(RestfulClient.java:116)
at com.nimsoft.probe.network.nfa_inventory.util.RestfulClient.executeGet(RestfulClient.java:84)
at com.nimsoft.probe.network.nfa_inventory.util.RestfulClient.executeGet(RestfulClient.java:74)
at com.nimsoft.probe.network.nfa_inventory.InventoryCollector.getNfaUrlsFromNfa(InventoryCollector.java:166)
at com.nimsoft.probe.network.nfa_inventory.Inventory.getNfaDrillinUrls(Inventory.java:56)
at com.nimsoft.probe.network.nfa_inventory.InventoryProbe.testResource(InventoryProbe.java:321)
at com.nimsoft.probe.framework.genprobe.sdk.GenSession.testConnection(GenSession.java:131)
at com.nimsoft.vm.BaseProbe$2.run(BaseProbe.java:203)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
[Connection tester - 0, nfa_inventory] Failed to connect to x.x.x.x
[Connection tester - 0, nfa_inventory] java.lang.IllegalStateException: Failed to communicate with the NFA console.
at com.nimsoft.probe.network.nfa_inventory.util.RestfulClient.executeHttpRequest(RestfulClient.java:124)
at com.nimsoft.probe.network.nfa_inventory.util.RestfulClient.executeGet(RestfulClient.java:84)
at com.nimsoft.probe.network.nfa_inventory.util.RestfulClient.executeGet(RestfulClient.java:74)
at com.nimsoft.probe.network.nfa_inventory.InventoryCollector.getNfaUrlsFromNfa(InventoryCollector.java:166)
at com.nimsoft.probe.network.nfa_inventory.Inventory.getNfaDrillinUrls(Inventory.java:56)
at com.nimsoft.probe.network.nfa_inventory.InventoryProbe.testResource(InventoryProbe.java:321)
at com.nimsoft.probe.framework.genprobe.sdk.GenSession.testConnection(GenSession.java:131)
at com.nimsoft.vm.BaseProbe$2.run(BaseProbe.java:203)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.http.client.HttpResponseException: Response from API was not 200 OK. The status code was: 404
at com.nimsoft.probe.network.nfa_inventory.util.RestfulClient.executeHttpRequest(RestfulClient.java:116)
... 12 more
Solution
You must install WCF Activation under the .NET Framework 3.5.1 features in Server Manager.
1. Open Server Manger - Start->Administrative Tools->Server Manager
2. Click on Features then Add Features
3. Expand .NET Framework 3.5.1 Features and check the box for "WCF Activation"
4. Click Next and then Install.
5. Once installed recycle the nfa_inventory probe in UIM and check to see that the error no longer appears.