热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidSOAP请求失败:服务器无法处理请求,参数值不能为空

在尝试使用Android发送SOAP请求时遇到错误,服务器返回'无法处理请求'的信息,并指出某个值不能为null。本文探讨了可能的原因及解决方案。

在使用 Android 应用发送 SOAP 请求的过程中遇到了问题,服务器返回了一个错误消息,指出无法处理请求,并且指出了一个特定的值不能为 null。

具体错误日志如下:

10-02 06:05:05.840: E/(1722): RawXML Request: 
soap:Server
Server was unable to process request. ---> Value cannot be null.
10-02 06:05:05.840: E/(1722): Parameter name: String

尽管我已经确信传递的所有参数都是有效的,但仍然出现了这个错误。下面是我在代码中实现的更改密码功能的部分代码:

public void ChangePassword(String METHOD, String token, String userId, String oldPassword, String newPassword) {
SoapObject request = new SoapObject(NAME_SPACE, METHOD);
Log.e("####", "ChangePassword token=" + token.trim());
Log.e("####", "ChangePassword userId=" + userId);
Log.e("####", "ChangePassword oldPassword=" + oldPassword);
Log.e("####", "ChangePassword newPassword=" + newPassword);
request.addProperty("token", token.trim());
request.addProperty("userId", userId);
request.addProperty("oldPassword", oldPassword);
request.addProperty("newPassword", newPassword);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
try {
HttpTransportSE transport = new HttpTransportSE(URL);
transport.debug = true;
String action = SOAP_ACTION + METHOD;
Log.e("@@@@", "soap action=" + action);
transport.call(action, envelope);
String respOnse= transport.responseDump;
Log.e("@@@@@@@", "RawXML Request:" + response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}

根据错误信息,我怀疑问题可能在于网络服务端配置或参数名不匹配。建议检查以下几个方面:

  • 确保所有参数名称完全匹配,包括大小写。
  • 验证服务器端是否能够正确接收并解析这些参数。
  • 检查是否有任何参数被意外设置为空值或默认值。

如果上述步骤未能解决问题,建议联系服务器端开发人员以获取进一步的帮助。


推荐阅读
  • 本文介绍了如何通过 XMLHttpRequest 对象在不同浏览器中实现 AJAX 的 POST 和 GET 请求,并详细说明了 XMLHttpRequest 的五个状态及其含义。 ... [详细]
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 之前学习过get信息的方法,就是通过接口得到数据,然后对数据进行处理json处理和xml处理最近学习了post,所以小小的总结一下先说一下使用系统的NSURLConnectio ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 根据官方定义,RxJava是一种用于异步编程和可观察数据流的API。其核心特性在于流式处理能力和丰富的操作符支持。 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
  • Android开发:巧妙运用ViewStub写出类似Tab选项卡
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文探讨了在UIScrollView上嵌入Webview时遇到的一个常见问题:点击图片放大并返回后,Webview无法立即滑动。我们将分析问题原因,并提供有效的解决方案。 ... [详细]
  • 本文将探讨如何在 Struts2 中使用 ActionContext 和 ServletActionContext 来获取请求参数和会话信息,同时解释它们的内部机制和最佳实践。 ... [详细]
  • 本文详细介绍了如何在Android应用中实现重复报警功能。示例代码可在以下路径找到:https://developer.android.com/samples/RepeatingAlarm/index.html。首先,我们将从Manifest文件开始分析。 ... [详细]
  • SDWebImage第三方库学习
    1、基本使用方法异步下载并缓存-(void)sd_setImageWithURL:(nullableNSURL*)urlNS_REFINED_FOR_SWIFT;使用占位图片& ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
author-avatar
饿狼传说少校_584_869_541
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有