无法从Android访问Web服务

时间:2013-12-27 07:37:06

标签: java android web-services soap wsdl

我的服务器在Tomcat中运行。这是我的WSDL路径:

http://10.99.60.52:8082/rjWebServices/wsdl/UserAuthenticationService.wsdl

SOAP地址位于WSDL

<soap:address location="http://localhost:8082/rjWebServices/services/UserAuthenticationService" /> 

尝试从SOAP UI访问服务时,我得到了适当的回复。

但是当我尝试在android中创建一个新的SoapObject时,我得到InvocationTargetException

这是我的Android代码:

String SOAP_ACTION = "http://10.99.60.52:8082/rjWebServices/services/UserAuthenticationService";
String METHOD_NAME = "PasswordValidation";
String NAMESPACE = "http://10.99.60.52:8082/rjWebServices/services/UserAuthenticationService/";
String URL = "com.retailJava.webServices.services.UserAuthenticationService";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);     

我错过了什么或做错了什么?

我的IP是:10.99.60.52

3 个答案:

答案 0 :(得分:0)

如果您尝试在安装了tomcat的同一台机器上的模拟器上运行您的应用程序,那么

10.0.2.2:8082将是解决方案!

如果您在设备上运行该应用,请确保您的设备位于同一网络上,或者您拥有从设备网络到服务器的路由。

10.x.x.x是一个私人网络,在互联网上无效。下载终端模拟器应用程序,看到你可以ping您的服务器!

答案 1 :(得分:0)

String SOAP_ACTION = "http://10.99.60.52:8082/rjWebServices/services/UserAuthenticationService";

我不认为,这是你的肥皂行动。 在wsdl中搜索操作“PasswordValidation”,在绑定下,你可以找到正确的soap动作。

String URL = "com.retailJava.webServices.services.UserAuthenticationService";

我想在这里你应该提供你的终点网址。 您可以将其余代码粘贴到您调用webservice URL的位置。

InovcationTargetException意味着您调用的方法引发了异常。要弄清楚你的方法本身有什么问题,请在try-catch块周围包装invoke方法调用并记录

invocationTargetException.getTargetException().

答案 2 :(得分:0)

使用该代码

String SOAP_ACTION = "http://10.99.60.52/rjWebServices/services/UserAuthenticationService";

10.99.60.52是您的IP地址..