调用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获取客户端想要的信息

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

  1. 查看HTTP 各方法的消息请求头和响应头——get/head/post/put

    今天介绍一下如何获取HTTP消息的请求头和响应头,请求头,顾名思义,就是包含在客户端发送给服务器的HTTP请求消息的头部,响应头包含在服务器响应客户端的请求消息的返回消息的头部.请求头中有客户端期望服 ...

  2. java中使用axis发布和调用webService

    axis1.4版本编写调用webservice接口 第一步:引入jar包 <!-- axis --><dependency><groupId>org.apache. ...

  3. java私有方法_如何调用私有方法

    当不涉及到用户隐私的时候,我们调用私有方法一般都没有什么问题. 在我们调用私有方法之前,我们必须要先知道你想调用的对象有哪些私有方法,和需要参数的那些方法的参数类型,和返回值的类型是多少. 查看私有方 ...

  4. 实战HttpClient 接口调用以及获取token 设置请求头

    简介: HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 java.net 包中已 ...

  5. 动态调用WebService方法

    C#动态调用WebService object item = InvokeWebService(this._webServicesUrl, "HelloWorld", new ob ...

  6. 请求到后台百分号被删除原因_接口测试平台代码实现85: 全局请求头1

    本节开始要制作一些次要功能,但是也是非常实用的.比如项目内的全局请求头. 首先看我们的前端页面,这个全局请求头的按钮: 我的设计是呢,点击后,出现一个弹层,这个弹层里除了保存/取消按钮 标题外.要有一 ...

  7. qt 子类调用父类的函数_子类调用父类方法

    当有相同的属性或者方法是this子类表示调用自己的属性或者方法, super调用父类的属性或者方法. 当子类调用的属性方法在子类中不存在时,那么this和super都是调用父类的属性或者方法 1.方式 ...

  8. img 带请求头token

    框架: vue 刚收到这个需求的时候整个人都是懵的,然后开始比较深入了解图片的生成原理. 一般开发中,后端会直接传一个图片的尾部路径过来,然后我们直接通过拼接去获取.其实这个过程中和我们请求api一样 ...

  9. java getname_Java文件类字符串getName()方法(带示例)

    java getname 文件类字符串getName() (File Class String getName()) This method is available in package java. ...

最新文章

  1. 驰骋工作流程引擎案例-水质检测工作流程设计开发实现过程
  2. struts2_11_实现自己的拦截器的定义
  3. Android 角色时间戳
  4. 电脑技巧:电脑安装操作系统、重装系统常见的问题解决方法!
  5. 河南理工大学计算机专业几本,2018河南理工大学是几本 是一本还是二本
  6. 判断文件是否存在 VC++
  7. 使用rsync无密码传输
  8. 自定义类加载器的父类为什么是AppClassLoader?
  9. DButils基本使用
  10. struck.unpack
  11. 科技爱好者周刊(第 216 期):极简主义的胜利
  12. 服务器主板内存频率修改,小白也能玩超频 手把手教你将内存频率提升1100MHz
  13. p站自动收藏画作 post请求,request payload
  14. 获取车辆VIN等OBD信息
  15. c++小游戏(5项)
  16. win10自启动方法
  17. Naive Bayes——Naive在哪?
  18. 人人都是产品经理 产品经理培训 互联网产品经理
  19. 第五篇:Spring源码篇-ApplicationContext
  20. SDYY大学普通话考试报名系统说明文档

热门文章

  1. jsap支付_Java命令行界面(第20部分):JSAP
  2. log4j 程序日志_使用log4j监视和筛选应用程序日志到邮件
  3. Java中的记录类型
  4. jaxb_JAXB –新手的观点,第1部分
  5. InterruptedException和中断线程的解释
  6. Java开发人员应该知道的前20个库和API
  7. X-Mas Musings –在Grails集成测试中不要使用随机服务器端口
  8. 从Spring Data JPA访问EntityManager
  9. 15分钟内使用Twilio和Stormpath在Spring Boot中进行身份管理
  10. 忘记番石榴:5个Google库Java开发人员应该知道的