如何调用Android的从一个导航web服务 [英] How to call a nav webservice from android

查看:126
本文介绍了如何调用Android的从一个导航web服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要调用Web服务在Microsoft Dynamics NAV ERP运行我使用kso​​ap2库,但问题是,每次我运行我的应用程序时,它抛出

  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆