最近公司有个项目需要和别的系统做对接,对方开放的是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. 【转载】java中的反射

    主要介绍以下几方面内容 理解 Class 类 理解 Java 的类加载机制 学会使用 ClassLoader 进行类加载 理解反射的机制 掌握 Constructor.Method.Field 类的用 ...

  2. kernel学习单

    lock (spin_lock, mutex, rw_mutex/spinlock) waitqueue, tasklet, softIRQ, hardIRQ basic struct (atomic ...

  3. apply,call,bind区别

    js中有三个改变this指针的方法,分别是 apply,call,bind.很多人只知道能改变的this,但是具体的适用场景不是太清楚.我也是遇到坑后不断的实践发现了区别. call ,apply方法 ...

  4. [tyvj1957 Poetize5] Vani和Cl2捉迷藏 (最小路径可重点覆盖+二分图最大匹配)

    传送门 Description 这片树林里有N座房子,M条有向道路,组成了一张有向无环图. 树林里的树非常茂密,足以遮挡视线,但是沿着道路望去,却是视野开阔.如果从房子A沿着路走下去能够到达B,那么在 ...

  5. open-ldap schema (2)

    schema介绍及用途 schema 是OpenLDAP 软件的重要组成部分,主要用于控制目录树中各种条目所拥有的对象类以及各种属性的定义,并通过自身内部规范机制限定目录树条目所遵循的逻辑结构以及定义 ...

  6. 59.bouncing results

        一.bouncing results成因及解决方案 bouncing results问题,两个document排序,field值相同:不同的shard上,可能排序不同:每次请求轮询路由到不同的 ...

  7. 57.query phase

    主要知识点: query phase步骤 query phase如何提升性能     一.query phase步骤 一次query phase一般包括以下三个步骤     The query pha ...

  8. 15.id生成的两种方式

  9. 洛谷 P1640 BZOJ 1854 [SCOI2010]连续攻击游戏

    题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...

  10. 20150805-20150807 tradeDate-----python

    1.创建数据库(strategy).表(trade_date 交易日) create database strategy default character set utf8 collate utf8 ...