java调用C# WebService接口
2017-12-08 20:26
423 查看
这两天在负责公司系统与其他公司的平台订单的对接工作,在没看对接文档前,心里还想着到时候照着接口文档的参数规范去传,应该很容易可以完成。但当拿到对方的接口文档,看到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等各种方式都行不通。第二天还想着找个和他们对接过的人请教请教用的什么方式,早上用了这个插件方法成功了,就一直在沟通联调,也顾不上问他,等有时间了,我还是要问问,或许能解答我的疑惑。
相关文章推荐
- Java调用C#WebService接口方式
- Java调用C#WebService接口方式
- Java调用C#带soapheader的webservice接口
- Java 调用C# webservice接口 生成java客户端 实现方式
- C#动态webservice调用接口 (JAVA,C#)
- java调用C# webservice接口使用axis报错
- java调用c#写的webservice
- java调用外部webservice接口的方法
- [转载]使用Java客户端类调用c# WebService和xml rpc server
- 求救:C# 调用JAVA写的WEBSERVICE的问题!
- Java调用架构于C#下的WebService实例二
- java 编写webservice 接口(xfire) ,调用webservice接口
- Java 以post请求方式通过json格式调用Webservice接口
- java调用webservice接口 几种方法
- JAVA学习笔记---WebService调用别人的接口
- C#调用java axsi开发的webservice
- Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用
- Java调用C++webservice接口
- c#调用带有安全认证的java webservice
- Java调用WebService接口实现发送手机短信验证码功能