cxf调用c#的webservice
java调用c#的webservice,如今已经測试通过。并且用到了项目中。
如今把实现方式和遇到的问题分享给大家。详细源代码例如以下:
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
String url = "http://10.1.5.83/Ciming.Service4JuDing/CM4APP.asmx?WSDL";
org.apache.cxf.endpoint.Client client = dcf.createClient(url);
// /GetSingleCheckModuleStatus 为接口中定义的方法名称
String methodName = "GetSingleCheckModuleStatus";
// 接口中定义參数顺序
Object[] paramArr = { "第一參数", "第二參数", "第三參数" };
Object[] objects = client.invoke(methodName, paramArr);
// 输出调用结果
System.out.println(objects[0].toString());
项目中有依赖的jar包(最精简的jar包了,我一个个试的,哪个类找不到。我才把jar包加进去的),以下是项目demo的源代码下载地址:
http://download.csdn.net/download/zl544434558/8840361
以下说说当中遇到的问题及解决方式:
我依照这篇文章(http://blog.csdn.net/zl544434558/article/details/44855989)的步骤调用webservice一直报例如以下错误:
Caused by: org.apache.cxf.binding.soap.SoapFault: The request element http://tempuri.org/‘> was not recognized.
问题产生的原因是:和接口组进行确认后,发现之前文章调用c#并非webservice,而是调用的页面值,相似java中的response返回json值。
解决方式是:把解决方式替换成这篇博客的解决方法。
另外说一个怪事:在c#中。方法的命名方式为首字母大写,而用eclipse中的webservice client 生成的文件默认方法名为小写,所以导致了上面的错误,可是把c#中的方法名改成小写。尽管能正确调通,可是c#返回的有值,而java这边接到的是null。
原因眼下未知。
可是用这篇博客的解决方式不会产生相似的问题。
cxf调用c#的webservice的更多相关文章
- cxf调用WebService
一.用CXF调用WebService的几种方式,参考: http://cxf.apache.org/docs/how-do-i-develop-a-client.html 二.JaxWsProxyFa ...
- Java调用WebService方法总结(7)--CXF调用WebService
CXF = Celtix + XFire,继承了Celtix和XFire两大开源项目的精华,是一个开源的,全功能的,容易使用的WebService框架.文中所使用到的软件版本:Java 1.8.0_1 ...
- Spring Boot 使用 CXF 调用 WebService 服务
上一张我们讲到 Spring Boot 开发 WebService 服务,本章研究基于 CXF 调用 WebService.另外本来想写一篇 xfire 作为 client 端来调用 webservi ...
- CXF整合Spring发布WebService实例
一.说明: 上一篇简单介绍了CXF以及如何使用CXF来发布一个简单的WebService服务,并且介绍了客户端的调用. 这一篇介绍如何使用CXF与spring在Web项目中来发布WebService服 ...
- CXF整合Spring开发WebService
刚开始学webservice时就听说了cxf,一直没有尝试过,这两天试了一下,还不错,总结如下: 要使用cxf当然是要先去apache下载cxf,下载完成之后,先要配置环境变量,有以下三步: 1.打开 ...
- 使用CXF做简单的WebService例子
使用Maven搭建项目测试简单的CXF实例 Server: pom.xml: <!-- begin CXF Server --> <dependency> <groupI ...
- CXF集成Spring实现webservice的发布与请求
CXF集成Spring实现webservice的发布(服务端) 目录结构: 主要代码: package com.cxf.spring.pojo; public class User { int id ...
- 解决cxf+spring发布的webservice,types,portType和message以import方式导入
用cxf+spring发布了webservice,发现生成的wsdl的types,message和portType都以import的方式导入的.. 原因:命名空间问题 我想要生成的wsdl在同个文件中 ...
- jQuery Ajax 方法调用 Asp.Net WebService 以及调用aspx.cs中方法的详细例子
一.jQuery Ajax 方法调用 Asp.Net WebService (引自Terry Feng) Html文件 <!DOCTYPE html PUBLIC "-//W3C//D ...
随机推荐
- 在Android Studio中使用Gradle方便地修改包名
情景: 主Module引用了多个module,在代码使用R.xx.xx的时候,会import 当前包名.R.而由于需要上架Play做测试,可是目前的包名已经被使用了,所以需要修改包名. 正确使用bui ...
- nodejs partials 分布视图
在学习<node.js开发指南>nodejs partials view时,怎么都不能运行成功.经过艰苦探索,终于成功了,分享一下. Cause: nodejs 的express 版本之间 ...
- Enze Third day(c#中选择结构【if...else】)
哈喽,又到了我总结课堂知识的时间了.今天在云和学院学的是C#中的“选择结构”下的If语句.下面就来总结一下今天所学的吧. 理论:If语句是最常用的选择结构语句.它主要根据所给定的条件(常由关系表达式和 ...
- 多条件搜索拼接Sql语句
1. 如下实例: 1.1 如下图所示:[通过用户输入的数据拼接Sql搜索语句] 1.2 private void button2_Click( ...
- Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器
Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器 MVC概念 MVC的含义是 “模型-视图-控制器”.MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程 ...
- 总线接口与计算机通信(四)USB外部总线(初级认识)
USB简介 USB是英文Universal Serial BUS(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术.USB接口支持设备的即插 ...
- JSP内置对象---application
application 对象 服务器启动后,就产生了application 对象.当一个客户访问服务器上的一个JSP 页面时,JSP 引擎为该客户分配这个application 对象, 当客户在 ...
- python命令行解析工具argparse模块【5】
上一节我们学习了parse_args()的用法,这一节,我们将继续学习argparse的其他一些用法. 1.sub-commands子命令 argpar ...
- oracle去除字符串中间的空格
update AC01 A set A.AAC003 = REGEXP_REPLACE(A.AAC003, '( ){1,}', '') WHERE A.AAC002 IN (SELECT AAC00 ...
- QQ对话代码
<li> <strong class="QQ">客服QQ</strong> <span> <a href="mqqw ...