I have developed an app that uses the Nav Web Services. I can connect with no problems via localhost (
http://localhost:7047/Dynamics_NAV....). I then tried to connect via the machines IP address running the service tier (
http://192.169.2.10:7047/Dynamics_NAV....). This works however I need to put in a username and password for it to pull up. That's problem number 1. How do I get around that initial login box. At the very least when I put in the credentials it'll pull up fine using the machines IP address. So then logically I opened up the port on the router to forward 7047 to that machine. When I use the external IP however I get a HTTP 400:Bad Request (
http://69.192.22.10:7047/Dynamics_NAV...). That's problem number 2. I know port forwarding works as I do it a lot with this router. I fear this all has to do with SPN's and a whole lot of other things I know nothing about. Is there a clear concise manual/How To out there to get Nav Web services opened to the outside world?
Thanks,
-B-
Comments
check this, should help you ... also try the search function in the forum ... this question has bein asked at least 3 times this week.
Surely I'm not the only person out there who wants to connect to Nav web services from an external application and I must assume somebody much smarter than I has done this before.
Thanks!
-B-
When calling NAV webservices from Navision, consider this incomplete piece of code (automation var: 'Microsoft XML, v6.0'.XMLHTTP)
CREATE(xmlhttp, TRUE, TRUE);
xmlhttp.open('POST', URL, FALSE, "Web Service Setup".Username, "Web Service Setup".Password);
The last two OPTIONAL parameters are easily overlooked, but when given, they will suppress the HTTP authertication dialogue box. It took me while to find it You might want to change the boolean WebServicesUseNTLMAuthentication in the CustomConfig file in the Services folder to work with your calling client.