java soap协议头_自己调用webservice方法总结(带请求头SoapHeader)

调用webservice总结:1.加入第三方的jar包 Ksoap2-android-XXX2.访问响应的webservice的网站,查看响应的信息,得到nameSpace,methodName,url,soapAction3.如果request信息还有带有SoapHander的。那么就要封装:依据参数封装

Element[] header= new Element[1];

header[0] = new Element().createElement(nameSpace, "SoapHeader");

Element userName= new Element().createElement(nameSpace, "UserID");

userName.addChild(Node.TEXT, UserID);

header[0].addChild(Node.ELEMENT, userName);

Element pass= new Element().createElement(nameSpace, "PassWord");

pass.addChild(Node.TEXT, PassWord);

header[0].addChild(Node.ELEMENT, pass);4.封装request信息的SoapBody//指定WebService的命名空间和调用的方法名

SoapObject soapObject=newSoapObject(nameSpace, methodName);//处理soap12:Body数据部分

soapObject.addProperty("loginName",username);

soapObject.addProperty("password",password);5.指定SoapSerializationEnvelope信息

SoapSerializationEnvelope envelope=newSoapSerializationEnvelope(SoapEnvelope.VER11);//SoapEnvelope.VER11 表示使用的soap协议的版本号 1.1 或者是1.2

envelope.headerOut=header;

envelope.bodyOut=soapObject;

envelope.dotNet= true; //指定webservice的类型的(java,PHP,dotNet)

envelope.setOutputSoapObject(soapObject);6.指定HttpTransportSE

HttpTransportSE ht= newHttpTransportSE(url);7.访问webservice服务器

ht.call(soapAction, envelope);8.两种方式获取服务器返回的信息

envelope.getResponse();

envelope.bodyIn;

两者的区别:Webservice开发的时候一般情况下大家接受webservice服务器返回值的时候都是使用

SoapObject soapObject=(SoapObject) envelope.getResponse();这个来接受返回

来的值,但这种方法往往会产生java.lang.ClassCastException: org.ksoap2.

serialization.SoapPrimitive这样的错误。

在服务器端返回值是String类型的数值的时候使用SoapObject soapObject=(SoapObject)

envelope.getResponse()会产生java.lang.ClassCastException: org.ksoap2.

serialization.SoapPrimitive这样的错误。

使用SoapObject result= (SoapObject)envelope.bodyIn和 Object object =envelope.getResponse();就可以解决这种错误。 如果服务器返回值的类型是byte[] 的时候,

使用Object object= envelope.getResponse();和SoapObject result =(SoapObject)envelope.bodyIn;

都不会发生错误现象,但是在使用Object object=envelope.getResponse();

取回来的值在使用base64进行解码和编码的时候会报出错误。如果使用SoapObject result=(SoapObject)envelope.bodyIn;

就可以完整的将byte[]进行解码和编码,byte[] ops = Base64.decode(result.getProperty(0).toString());

SoapObject result=(SoapObject) envelope.bodyIn;

String str=result.getProperty(0).toString();

或者是

Object result=(Object) reqVo.envelope.getResponse();

String str=result.toString();9.解析字符串str获取客户端想要的信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

注册界面演示代码(前端开发)

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册</title><style>* {margin: 0px;padding: 0px;/*这样的设置会阻止元素大小的改变&#xff0c;因为设置内边距时元素大小会发生改变*/b…

apache ignite_使用Apache Ignite瘦客户端– Apache Ignite内部博客

apache ignite从2.4.0版本开始&#xff0c;Apache Ignite引入了一种连接到Ignite群集的新方法&#xff0c;该方法允许与Ignite群集进行通信而无需启动Ignite客户端节点。 从历史上看&#xff0c;Apache Ignite提供了客户端和服务器节点两个概念。 点燃旨在用作轻量级模式的客户…

java 网络编程 方式_JAVA网络编程

概念BIO 阻塞io&#xff0c;1.4之前NIO no-blocking io 非阻塞io&#xff0c;jdk1.4AIO 异步io&#xff0c;jdk1.7浏览器输入网址&#xff0c;敲下回车之后发生了什么&#xff1f;1.URL解析2.DNS解析概念&#xff1a;Domain Name System&#xff0c;域名系统&#xff0c;本质…

如何设置背景图(前端开发)

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>模糊化背景图</title><style>body {background-image: url("image/bjt03.jpg");background-repeat: no-repeat;background-atta…

java字符串底层实现_「JAVA」细述合理创建字符串,分析字符串的底层存储,你不该错过...

Java基础之字符串操作——String字符串什么是字符串&#xff1f;如果直接按照字面意思来理解就是多个字符连接起来组合成的字符序列。为了更好的理解以上的理论&#xff0c;我们先来解释下字符序列&#xff0c;字符序列&#xff1a;把多个字符按照一定的顺序排列起来&#xff1…

查看oracle会话和进程_带有Oracle Digital Assistant和Fn Project的会话式UI。 第三部分,迁移到云...

查看oracle会话和进程在这篇文章中&#xff0c;我将继续在Oracle Digital Assistant和Oracle Digital Assistant之上为FlexDeploy实现对话式UI的故事。 Fn项目 。 今天&#xff0c;我将围绕聊天机器人工作的无服务器API迁移到云中&#xff0c;因此整个解决方案都在云中工作&am…

浏览器用户脚本管理器(Tampermonkey)

文章目录脚本管理器的好处是什么&#xff1f;用户脚本管理器有哪些&#xff1f;如何使用&#xff1f;安装脚本示例常用脚本脚本管理器的好处是什么&#xff1f; 用户脚本管理器将在您的用户脚本管理方面提供更多的便利。 它提供了诸如便捷脚本安装、自动更新检查、标签中的脚本…

服务器$java_top路径_ERP实施项目-MD120_FIN000_即时打印_V1.0

中国移动项目即时打印开发在此将web的即时打印开发成通用程序。1、首先通过创建rtf模板制定报表的输出格式&#xff1b;2、将需要输出的数据插入客户化表cux_fnd_xml_pool中&#xff1b;3、通过EBS功能调用CuxFndXmlpViewer.jsp。此jsp程序会根据传入的参数判断调用哪个rtf模板…

通讯网关 api网关_API网关正在经历身份危机

通讯网关 api网关这些年来&#xff0c;API网关正在经历一些身份危机 。 它们是否是集中的共享资源&#xff0c;从而促进了API对外部实体的公开和治理&#xff1f; 它们是集群入口哨兵&#xff0c;可以严格控制哪些用户流量进入或离开集群吗&#xff1f; 还是他们根据自己拥有…

百度搜索引擎使用技巧

1.在指定的网站搜索内容 在搜索框输入&#xff1a;site:youku.com 蛋炒饭&#xff0c;则只会返回优酷网站上关于蛋炒饭的内容 2.屏蔽指定的网站 例如&#xff0c;搜索“内存溢出”&#xff0c;但是不希望看到 csdn 网站相关的内容&#xff0c;你可以在搜索框输入&#xff1a;内…

docker 容器监控_以简便的方式监控Docker容器中的ADF应用程序

docker 容器监控在这篇简短的文章中&#xff0c;我将展示一种简单的方法来确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序。 我将使用标准工具JConsole&#xff0c;它是计算机上JDK安装的一部分。 如果存在问题&#xff08;例如&#xff0c;内存泄漏…

phpexcel 日期 时分秒_thinkPHP+PHPExcel实现读取文件日期的方法含时分秒

Vendor(PHPExcel.PHPExcel.IOFactory);$inputFileName Public/demo/demo.xls;$objReader new PHPExcel_Reader_Excel5();$objPHPExcel $objReader->load($inputFileName);$sheet $objPHPExcel->getSheet(0);$highestRow $sheet->getHighestRow(); // 取得总行数$…

css中的display属性值:table,table-row,table-cell

table&#xff1a;此元素会作为块级表格来显示&#xff08;类似 <table>&#xff09;&#xff0c;表格前后带有换行符。 table-row&#xff1a;此元素会作为一个表格行显示&#xff08;类似 <tr>&#xff09;。 table-cell&#xff1a;此元素会作为一个表格单元格显…

Bootstrap的学习

文章目录概念入门响应式布局响应式布局的实现&#xff08;栅格系统&#xff09;示例代码注意事项栅格系统参考视频应用 Bootstrap 的组件概念 一个前端开发的框架&#xff0c;Bootstrap&#xff0c;来自Twitter&#xff0c; 是目前很受欢迎的前端框架。Bootstrap 是基于HTML、…

jdk8 string::_JDK 12的String :: transform方法的简要但复杂的历史

jdk8 string::最近有人提议从JDK 12中删除Java预览功能Raw String Literals &#xff08; JEP 326 &#xff09;&#xff0c; 现在正式宣布将删除该预览功能 &#xff08; Java SE 12 [JSR 386] 25版将其删除 &#xff09;。 JDK String类中已添加了几种方法来支持此功能。 即使…

注册界面的实现案例视频(前端开发)

视频1&#xff1a;https://live.csdn.net/v/182184 视频2&#xff1a;https://live.csdn.net/v/182185 视频3&#xff1a;https://live.csdn.net/v/182186 视频4&#xff1a;https://live.csdn.net/v/182200

jdbc如何写csv文件_Java:将JDBC结果集作为CSV流化

jdbc如何写csv文件在上一篇文章中 &#xff0c;我展示了如何将java.sql.ResultSet转换为JSON并将其流回调用方。 这篇文章是关于以CSV格式流式传输。 流式传输使您可以一点一点地传输数据&#xff0c;而不必将所有数据都加载到服务器的内存中。 例如&#xff0c;考虑以下Resul…

使用Bootstrap开发网站首页

视频1&#xff1a;https://live.csdn.net/v/182207 视频2&#xff1a;https://live.csdn.net/v/182208 视频3&#xff1a;https://live.csdn.net/v/182209

在java中3.14156d表示_2006年9月计算机等级考试二级Java笔试真题

一、选择题(每小题2分&#xff0c;共70分)下列各题A)、B)、C)、D)四个选项中&#xff0c;只有一个选项是正确的&#xff0c;请将正确选项涂写在答题卡相应位置上&#xff0c;答在试卷上不得分。(1)下列选项中不符合良好程序设计风格的是_____。A)源程序要文档化B)数据说明的次序…

apigee 安装_APIGEE:用于API代理的CI / CD管道

apigee 安装在本文中&#xff0c;我们将看到如何为APIGEE API代理创建CI / CD管道。 我已经参考了APIGEE社区上同一主题的几篇文章。 这些给了一些关于如何为API代理设置CI / CD管道的想法。 这是我用来设置CI / CD的工具。 詹金斯 节点 蜂胶 新人 APIGEE管理API 确保已创…