最近公司有个项目需要和别的系统做对接,对方开放的是webservice接口,搞了很久终于搞出来了,在此记录一下

获取数据的service

public class SoapService implements ISoapService {

    private static final String NAMESPACE = "http://tempuri.org/";

    private static final String METHODNAME = "GetOrder";

    private static final String URL = "http://192.168.2.22/JTE.Server/ThirdpartyService";

    private static final String SOAPACTION = "http://tempuri.org/IThirdpartyService/GetOrder";
private String name; public SoapService(String _name) {
this.name = _name;
} public SoapObject HelloWorldResult() {
SoapObject result = null;
SoapObject soapObject = new SoapObject(NAMESPACE, METHODNAME);
soapObject.addProperty("message", "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Body><SUVERL><orderno></orderno><hotel_code>HOTEL1477637967</hotel_code><name></name><cred_no></cred_no><room_no>1005</room_no></SUVERL></Body>");// ���Σ���ס�����������WCF�����еIJ�����һ��
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = soapObject;
envelope.dotNet = true;
envelope.setOutputSoapObject(soapObject);
HttpTransportSE transportSE = new HttpTransportSE(URL);
transportSE.debug = true;// ʹ�õ�ʽ����
try {
transportSE.call(SOAPACTION, envelope);
result = (SoapObject) envelope.bodyIn;
} catch (Exception e) {
String exceptionString = e.toString();
}
return result;
}
}
接口
public interface ISoapService {
SoapObject HelloWorldResult();
}

获取代码

SoapService soapService = new SoapService("<?xml version=\"1.0\" encoding=\"UTF-8\"?><Body><SUVERL><orderno></orderno><hotel_code>HOTEL1477637967</hotel_code><name></name><cred_no></cred_no><room_no>" + Tools.ROOM_NUMBER + "</room_no></SUVERL></Body>");
SoapObject soapObject = soapService.HelloWorldResult();
String result = soapObject == null ? "网络连接失败!" : soapObject.getProperty(0).toString();

中间还需要一个jar包ksoap2,不知道怎么上传

在这过程中遇到一些坑
1.开发文档中说明有些节点可以为空,然后我就节点名都不写了,最后当然就获取不到数据了。后来还是问他们的开发人员才缓过来
2.曾经我天真的以为java能用的代码,安卓就一定可以用,但是我用wsdl2生成了java的相关代码,并且成功的获取到了数据,但是导入到安卓项目中才发现,报错,noclassdefound,解决不了 ,于是想别的办法
3.我从开始到现在没明白wcf是个什么东西0.0

关于安卓调用wcf的一些问题的更多相关文章

  1. js调用wcf 的SOA

    jquery 调用wcf 的SOA架构,将三层架构运用到SOA的架构中来 经过前面3天的学习,我想大家应该对SOA的架构有了初步的了解,其实 SOA与三层架构并不冲突,而是三层架构的升级版. 来看下传 ...

  2. 【Win 10应用开发】手动调用WCF服务

    调用服务最简单的方法就是,直接在VS里面添加服务引用,输入服务的地址即可,无论是普通Web服务,还是WCF服务均可.VS会根据获取到的元数据,自动生成客户端代码. 如果服务的调用量很大,应用广泛,可以 ...

  3. 【原创经验分享】JQuery(Ajax)调用WCF服务

    最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...

  4. c# 动态调用WCF方法笔记!

    //动态调用wcf方法 string url = "http://localhost:54379/ServiceWCF.svc"; IDoubleService proxy = W ...

  5. ajax内调用WCF服务

    WCF可以当作WebService一样被调用,在html内通过ajax调用WCF服务的方法如下: 1.新建一个WCF服务的网站项目: 2.在项目内增加一个新项:启用了ajax的WCF服务: 3.在对应 ...

  6. 用JavaScript调用WCF Service

    原创地址:http://www.cnblogs.com/jfzhu/p/4039604.html 转载请注明出处 前面介绍过<Step by Step 创建一个WCF Service>和& ...

  7. ASP.NET中使用HttpWebRequest调用WCF

    最近项目需要和第三网站进行数据交换,第三方网站基本都是RESTfull形式的API,但是也有的是Web Service,或者.NET里面的WCF.微软鼓励大家使用WCF替代Web Service. W ...

  8. C#动态调用WCF接口,两种方式任你选。

    写在前面 接触WCF还是它在最初诞生之处,一个分布式应用的巨作. 从开始接触到现在断断续续,真正使用的项目少之又少,更谈不上深入WCF内部实现机制和原理去研究,最近自己做一个项目时用到了WCF. 从这 ...

  9. 完全使用接口方式调用WCF 服务

    客户端调用WCF服务可以通过添加服务引用的方式添加,这种方式使用起来比较简单,适合小项目使用.服务端与服务端的耦合较深,而且添加服务引用的方式生成一大堆臃肿的文件.本例探讨一种使用接口的方式使用WCF ...

随机推荐

  1. 模拟登录新浪微博(Python)

    PC 登录新浪微博时, 在客户端用js预先对用户名.密码都进行了加密, 而且在POST之前会GET 一组参数,这也将作为POST_DATA 的一部分. 这样, 就不能用通常的那种简单方法来模拟POST ...

  2. loadrunner录制不了浏览器

    Loadrunner11.0启动WebTours之总结1 第一次安装LR11时,安装安组件后没有对电脑进行重启,直接安装的LR112 安装完毕LR后,录制脚本时发现不能启动IE11.百度发现LR支持I ...

  3. swift-自动计算字符串的宽高

    写一个方法来继承String //自动控制文字换行及宽度 extension String { func textSizeWithFont(font: UIFont, constrainedToSiz ...

  4. @dalao help!!!

  5. 21.实验基于_version进行乐观锁并发控制

    21.实验基于_version进行乐观锁并发控制 主要知识点: 实验基于_version进行乐观锁并发控制 1.实验实战演练基于_version进行乐观锁并发控制 (1)先构造一条数据出来 PUT / ...

  6. 10.shard、replica机制及单node下创建index

    主要知识点     1.shard&replica机制梳理 2.单node环境下创建index的情况     1.shard&replica机制再次梳理     (1)index包含多 ...

  7. 强大的jQuery图片查看器插件Viewer.js

    简介 Viewer.js 是一款强大的图片查看器 Viewer.js 有以下特点: 支持移动设备触摸事件 支持响应式 支持放大/缩小 支持旋转(类似微博的图片旋转) 支持水平/垂直翻转 支持图片移动 ...

  8. node源码详解(三)

    本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource3 本博客同步在https://cnodejs.o ...

  9. AtCoder ARC 076E - Connected?

    传送门:http://arc076.contest.atcoder.jp/tasks/arc076_c 平面上有一个R×C的网格,格点上可能写有数字1~N,每个数字出现两次.现在用一条曲线将一对相同的 ...

  10. 1012关于SYSBENCH的用法

    sysbench安装.使用.结果解读 sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.目前sysbench代码托管在launchpad上 ...