首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过网络访问web服务

通过网络访问web服务
EN

Stack Overflow用户
提问于 2014-03-07 16:06:14
回答 2查看 122关注 0票数 0

我创建了一个asp.net web服务,并使用模拟器,我可以轻松地访问web服务,现在我想通过网络访问web服务,所以我的手机将是客户端,我的笔记本电脑将是服务器,尝试了许多小时,但什么也没有给我java.lang.NullPointerException。我创建了一个本地网络,并看到了用于查看网络信息http://s9.postimg.org/k3a7t754f/image.png的图片,当我连接到该网络时,我的电话IP地址是192.168.173.205。

  • 这是我的第一个类UserService这个类将调用 包com.routingware.services;导入android.util.Log;导入com.routingware.database.models.User;导入org.ksoap2.soapEn信封;导入org.ksoap2.serialization.PropertyInfo;导入org.ksoap2.serialization.SoapObject;导入android.util.Log org.ksoap2.transport.HttpTransportSE;公共字符串命名空间= "http://tempuri.org/";公共字符串方法=“;公共字符串操作= "";公共字符串URL =”http://192.168.173.1/projectnetwork/"“;公共类UserService扩展了CommonClass { public UserService (String MethodName,String PageName) { METHOD = MethodName;ACTION =命名空间+ MethodName;URL = URL + PageName;}公共用户CheckLogin (字符串用户名,字符串密码){ user = null;SoapObject请求=新的SoapObject(命名空间,方法);//发送用户名作为参数PropertyInfo Pi =新的PropertyInfo();Pi.setName(“用户名”);Pi.setValue(用户名);Pi.setType(String.class);Request.addProperty( Pi );//发送密码作为参数Pi=新的PropertyInfo();Pi.setName(“密码”);Pi.setValue(密码);Pi.setType(String.class);Request.addProperty(Pi);SoapSerializationEnvelope信封=新SoapSerializationEnvelope( SoapEnvelope.VER11);envelope.dotNet =真;envelope.setOutputSoapObject(请求);envelope.implicitTypes =真;envelope.addMapping(命名空间,“用户”,新用户().getClass());HttpTransportSE httpTransport =新HttpTransportSE(URL);httpTransport.debug =真;尝试{Log.e(“调用”,"1");httpTransport.call(动作,信封);user.setUserID(Integer.parseInt(Response.getProperty(0).toString()));user.setUserName(Response.getProperty(1).toString());user.setUserPasswrd(Response.getProperty(2).toString());user.setBranchID(Integer.parseInt(Response.getProperty(3).toString()));;SoapObject Response = (SoapObject)envelope.getResponse();SoapObject=新用户()user.setCompanyID(Integer.parseInt(Response.getProperty(4).toString()));user.setUserState(Boolean.parseBoolean(Response.getProperty(5).toString()));} catch (异常ex) {Log.e(“调用”,ex.toString());返回null;}最后{返回用户;}}
  • 从AsyncTaskclass调用方法 @覆盖受保护用户doInBackground(无效.( params) {尝试{返回新的UserService("CheckFirstTimeLogin","UserApi.asmx") .CheckLogin(mUsername,mPassword);} catch (异常e) {返回null;}}@覆盖受保护的onPreExecute() { super.onPreExecute();alertDialog =新的mPassword}@覆盖受保护的onPostExecute(用户用户){ if (用户== null) { onCancelled();onCancelled alertDialog.setMessage(“خطأاثناءعمليةالإتصال”);alertDialog.show();}}

抱歉,我的英语不好

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-09 02:49:50

问题是,ksoap2使用http端口( 80 ),所以我想要防火墙,并使它对另一个设备开放,我遵循了从这里开始的步骤,http://www.thewindowsclub.com/block-open-port-windows-8-firewall

票数 0
EN

Stack Overflow用户

发布于 2014-03-07 16:17:11

你能把日志寄出去吗?您的设备是否连接到您的膝上型计算机连接的同一个wifi网络。如果您正在使用本地网络作为您的服务,设备应该连接到同一个wifi网络。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22254956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档