如何调用Android的从一个导航web服务 [英] How to call a nav webservice from android
本文介绍了如何调用Android的从一个导航web服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要调用Web服务在Microsoft Dynamics NAV ERP运行我使用ksoap2库,但问题是,每次我运行我的应用程序时,它抛出
java.net.ConnectException:本地主机/ 127.0.0.1:7047 - 连接被拒绝
的Microsoft Dynamics NAV使用NTLM身份验证可能这就是问题所在,请给任何建议来解决它。
先谢谢了。
我的code是
字符串命名空间=瓮:微软动态图式/ $ C $库尼特/ NavisionWS
字符串URL =HTTP://本地主机:7047 / DynamicsNAV / WS / $ C $库尼特/ NavisionWS
字符串soap_action =瓮:微软动态图式/ $ C $库尼特/ NavisionWS:GetLoginInfo
字符串METHOD_NAME =GetLoginInfo;
尝试
{
SoapObject要求=新SoapObject(命名空间,METHOD_NAME);
SoapSerializationEnvelope信封=新SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = TRUE;
envelope.setOutputSoapObject(请求);
HttpTransportSE运输=新HttpTransportSE(URL);
transport.call(soap_action,信封); //这里接收错误!
SoapObject结果=(SoapObject)envelope.getResponse();
大= result.toString();
}
赶上(例外五)
{
e.printStackTrace();
大= e.toString();
Toast.makeText(这一点,伟大的,Toast.LENGTH_LONG).show();
}
解决方案
使用IP地址而不是本地主机连接于Android到web服务
I want to call web service running in Microsoft Dynamics nav ERP i am using ksoap2 library but problem is every time i run my application it throws
java.net.ConnectException: localhost/127.0.0.1:7047 - Connection refused
Microsoft Dynamics nav is using NTLM authentication may that is the problem, please give any suggestion to solve it. Thanks in advance.
My code is
String namespace = "urn:microsoft-dynamics-schemas/codeunit/NavisionWS";
String url = "http://localhost:7047/DynamicsNAV/WS/Codeunit/NavisionWS";
String soap_action = "urn:microsoft-dynamics-schemas/codeunit/NavisionWS:GetLoginInfo";
String method_name = "GetLoginInfo";
try
{
SoapObject request = new SoapObject(namespace, method_name);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE transport = new HttpTransportSE(url);
transport.call(soap_action, envelope); // Receive Error here!
SoapObject result = (SoapObject) envelope.getResponse();
great = result.toString();
}
catch (Exception e)
{
e.printStackTrace();
great = e.toString();
Toast.makeText(this, great, Toast.LENGTH_LONG).show();
}
解决方案
Use IP Address instead of Localhost to connect to webservice from Android
这篇关于如何调用Android的从一个导航web服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文