java – Android KSOAP2请求PHP SOAP服务器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Android KSOAP2请求PHP SOAP服务器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2130字,纯文字阅读大概需要4分钟。
内容图文
我想在我的Android应用程序中创建一个SOAP客户端.我已经用php SOAP客户端测试了服务器,它一直在工作.但在我的Android应用程序中,我仍然得到例外.任何人都可以帮我解决错误以及如何解决这个问题?谢谢
PHP
<?php
class service
{
public function service()
{ }
public function login($nickname, $password)
{
$sql = "select nick from user
where
nick =\"$nick\"
and
pass = \"$password\"";
if (($result = $this->db->query($sql)) && ($result->num_rows == 1))
return true;
else
return false;
}
}
$server = new SoapServer(null, array(
'uri' => "urn://www.domain.cz",
'soap_version' => SOAP_1_2)
);
$server->setClass("service");
$server->handle();
?>
Android的
private static String SOAP_ACTION = "http://www.domain.cz/server/server.php";
private static String NAMESPACE = "urn://www.domain.cz";
//need fix namespace to work, final solution
// private static String NAMESPACE = "http://www.domain.cz/server/";
private static String METHOD_NAME = "login";
private static String URL = "http://www.domain.cz";
public void Connect()
{
//Initialize soap request + add parameters
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
//Use this to add parameters
request.addProperty("nick","peter");
request.addProperty("password","somepassword");
//Declare the version of the SOAP request
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
envelope.setOutputSoapObject(request);
//Needed to make the internet call
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
//this is the actual part that will call the webservice
androidHttpTransport.call(SOAP_ACTION, envelope);//HERE is xmlpullparserexception after a while
} catch (Exception e) {
e.printStackTrace();
}
// Get the SoapResult from the envelope body.
SoapObject result = (SoapObject)envelope.bodyIn;
if(result != null){
TextView t = (TextView)this.findViewById(R.id.resultbox);
//Get the first property and change the label text
t.setText("SOAP response:\n\n" + result.getProperty(0).toString());
}
}
解决方法:
您的URL应该是soap端点,即http://www.domain.cz/server/server.php
您的SOAP_ACTION应包含方法名称,即http://www.domain.cz/server/server.php/login
内容总结
以上是互联网集市为您收集整理的java – Android KSOAP2请求PHP SOAP服务器全部内容,希望文章能够帮你解决java – Android KSOAP2请求PHP SOAP服务器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。