java调用C# WebService接口
来源:互联网 发布:php ajax提交form表单 编辑:程序博客网 时间:2024/06/13 01:01
这两天在负责公司系统与其他公司的平台订单的对接工作,在没看对接文档前,心里还想着到时候照着接口文档的参数规范去传,应该很容易可以完成。但当拿到对方的接口文档,看到WebService的时候,心情就变了,没有写过java调webService接口,怎么办……
没有接触过,就先查了查,看看示例,该用什么方式去调。看到的方式大概有三种:1. HttpClient 2. HttpURLConnection 3. 插件生成客户端代码。
有了方向之后,就开始写代码了,采用的方式是HttpClient,上午写好了,下午开始调试,就一直出问题,各种HTTP请求的错误码,404,400,500,都遇到过,不明白为什么调不通,就开始换其他方式,又改成了用HttpURLConnection的方式,还是返回错误结果。
找对接的那边的人问了问,他跟我说了句,他们服务使用C#写的,于是我又换了个方式,直接用的RPC的Call方法调用,结果可以调通了,但是得到的一直是他们返回给我的错误码,通过对方的监听,他告诉我他那边接收到的参数都是null值,又开始查资料找解决方法,尝试了各种解决方案,最后还是没能解决。
第二天一到公司,没其他办法了,就尝试用生成客户端代码的方法。我的开发工具用的是MyEclipse,自带web Service的插件,所以就直接用了,其他开发工具的话,没有自带插件,可以先下载安装。下面就看看如何用myEclipse生成我们的Java代码:
1. 新建一个WebService Client项目
2. 输入wsdl url地址或导入wsdl文件
3. 之后就一直next或直接finish,生成之后,我们就可以在项目中看到java类,就是通过接口服务生成的
4. 生成代码之后,我们不需要做任何改动,就可以直接写个main方法测试其中的接口了。下面是我自己测试的一个代码示例:
public static void main(String[] args) { String AppKey = "123456"; Long currentTime = System.currentTimeMillis(); String AppSign = createSign(AppKey, currentTime.toString()); EC service = new EC(); ECSoap portType = service.getECSoap(); String result = portType.login(AppKey, AppSign, currentTime.toString()); System.out.print(result); }
有了这套代码之后,我就将这些直接搬到自己的项目中,添加一些关于webService的jar包,我就可以直接调用他们的接口了。一天的时间,也总算是完成了和对方的对接工作。
对接完成了,但其实还是不太明白为什么自己用HttpClient或HttpURLConnection等各种方式都行不通。第二天还想着找个和他们对接过的人请教请教用的什么方式,早上用了这个插件方法成功了,就一直在沟通联调,也顾不上问他,等有时间了,我还是要问问,或许能解答我的疑惑。
阅读全文
0 0
- java调用C# WebService接口
- Java WebService 接口调用
- java调用webservice 接口
- java调用webservice接口
- Java调用WebService接口
- java 调用webservice接口
- JAVA WebService接口调用
- java调用webservice接口
- java 调用webservice接口
- Java调用webservice接口
- java 调用webservice接口
- Java调用webService接口
- java调用webService接口
- java调用WebService接口
- Java 调用C# webservice接口 生成java客户端 实现方式
- java webservice调用c#接口并传多个参数
- Java调用C#带soapheader的webservice接口
- java调用C# webservice接口使用axis报错
- win7系统VMware下安装Linux的centos系统
- loj6001「网络流 24 题」太空飞行计划(最大权闭合图+最小割)
- Gradle For Android(四)Gradle编译中神秘的混淆
- mybatis返回list<String>类型数据
- 6-java引用类型
- java调用C# WebService接口
- Java把一个大的文本文件拆分成几个小的文件
- 【mysql 触发器】触发器使用
- enums中Enum对象取值
- 面向对象编程-鸵鸟到底是不是鸟?企鹅是不是鸟?
- 机器学习--决策树理解
- MySQL常用指令整理
- mac下ppt打开后没有显示怎么办
- 代码传奇 | 身价10亿的程序员 雷军当年也为他打工——WPS之父 求伯君