详解JAVA调用WCF服务的示例代码
发布时间 - 2026-01-11 03:22:24 点击率:次这一篇将要解决java中调用WCF的问题,使用的依旧是上一篇中托管在IIS中的WCF服务,本来我是打算用axis来写这篇文章的,可就在我开始之前,无意中发现了在java包中自带的wsimport工具,用起来是极为爽快,而且也节省了配置axis的时间。所以,就它吧

其实在有了wsimport,在java调用wcf的时候是极为简单的,当然这是建立在使用不太复杂的服务的情况下,如果还要考虑安全验证、发布订阅等问题,还是相对复杂的,但是这三篇文章没准备写那么多,只是想能把跨平台这三个字真的应用在实践中。起一个抛砖引玉的作用吧。
1.开发必备
这么说,只要是做java开发的,都不用看这一个章节啦,jdk+eclipse,甚至可以不使用eclipse,因为上面提到的wsimport工具是在java安装后的bin目录的一个可执行程序。如果钥匙使用axis,eclipse才是必须的。
2.生成WCF客户端
使用的就是上面提到的wsimport,如果您正确的配置了java环境变量,就可以直接在控制台中使用了,简历文件夹x:/workspace/EmployeeManager/client
打开命令行,cd到以上建立的目录x:/workspace/EmployeeManager/,然后执行命令:
import –s client http://192.168.11.1/emp/EmployeeManagement.svc?wsdl,然后就会发现在目录下生成了若干文件,其中有对应的java实体类文件,比如Employee.java,还有复杂生成实体的ObjectFactory,因为在这里使用的不是基础类型String、Int等,而是类JAXBElement<SalaryDetail>这样的类型,ObjectFactory可以帮助我们生成这些类型。
3.开发程序
1.在eclipse中新建JAVA项目,例如testproject
2.右键项目中的src文件夹,选择Import
3.点击General中的File System,单击Next
4.在下一步中点击刚简历的目录,并全选所有文件夹
5.新建测试文件test.java
import org.datacontract.schemas._2004._07.contracts.*;
import com.microsoft.schemas._2003._10.serialization.*;
import org.tempuri.*;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
//使用ObjectFactory帮助生成实体类对象
org.datacontract.schemas._2004._07.contracts.ObjectFactory factory=new org.datacontract.schemas._2004._07.contracts.ObjectFactory();
Employee emp=factory.createEmployee();
//设置属性,同样使用ObjectFactory帮助设置,因为这里的类型有别与基础类型
emp.setId(factory.createEmployeeId("dev001"));
emp.setName(factory.createEmployeeName("James White"));
emp.setDepartment(factory.createEmployeeDepartment("Development"));
//调用的方法略显古怪,需要注意
EmployeeManagement empManagement=new EmployeeManagement();
IEmployeeManagement iempManagement=empManagement.getBasicHttpBindingIEmployeeManagement();
SalaryDetail salaryDetail=iempManagement.getSalaryOfLastMonth(emp);
//输出结果
System.out.println("Employee ID:"+salaryDetail.getId().getValue());
System.out.println("Salary Date:"+salaryDetail.getDate().getMonth());
System.out.println("Salary:"+salaryDetail.getSalary().toString());
}
}
运行程序,出结果
4.结束语
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java调用wcf
# java
# 调用wcf服务
# Java调用CXF WebService接口的两种方式实例
# Java动态获取实现某个接口下所有的实现类对象集合
# java后台实现支付宝支付接口和支付宝订单查询接口(前端为APP)
# Java利用Swagger2自动生成对外接口的文档
# Java 调用Restful API接口的几种方式(HTTPS)
# java中接口(interface)及使用方法示例
# Java如何基于wsimport调用wcf接口
# 这一
# 这三
# 这是
# 我是
# 就会
# 是在
# 在这里
# 如果您
# 成了
# 在我
# 才是
# 不太
# 那么多
# 右键
# 抛砖引玉
# 无意中
# 实体类
# 可就
# 能把
# 这篇文章
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
香港服务器网站推广:SEO优化与外贸独立站搭建策略
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何快速生成凡客建站的专业级图册?
UC浏览器如何设置启动页 UC浏览器启动页设置方法
Linux系统命令中screen命令详解
网站制作壁纸教程视频,电脑壁纸网站?
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
如何有效防御Web建站篡改攻击?
Python文件异常处理策略_健壮性说明【指导】
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
Laravel如何实现文件上传和存储?(本地与S3配置)
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
详解Android中Activity的四大启动模式实验简述
简单实现Android文件上传
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
phpredis提高消息队列的实时性方法(推荐)
活动邀请函制作网站有哪些,活动邀请函文案?
如何快速搭建高效香港服务器网站?
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel如何生成API文档?(Swagger/OpenAPI教程)
php485函数参数是什么意思_php485各参数详细说明【介绍】
zabbix利用python脚本发送报警邮件的方法
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何用西部建站助手快速创建专业网站?
LinuxCD持续部署教程_自动发布与回滚机制
网站图片在线制作软件,怎么在图片上做链接?
Android GridView 滑动条设置一直显示状态(推荐)
焦点电影公司作品,电影焦点结局是什么?
如何快速搭建高效服务器建站系统?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
如何快速生成橙子建站落地页链接?
js实现获取鼠标当前的位置
如何快速生成可下载的建站源码工具?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
西安专业网站制作公司有哪些,陕西省建行官方网站?
Laravel安装步骤详细教程_Laravel环境搭建指南
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
如何在宝塔面板创建新站点?
Laravel如何使用Gate和Policy进行授权?(权限控制)
,南京靠谱的征婚网站?
专业商城网站制作公司有哪些,pi商城官网是哪个?
手机软键盘弹出时影响布局的解决方法
简历在线制作网站免费版,如何创建个人简历?

