详解JAVA调用WCF服务的示例代码

2025-05-29 0 74

这一篇将要解决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可以帮助我们生成这些类型。

详解JAVA调用WCF服务的示例代码

详解JAVA调用WCF服务的示例代码

3.开发程序

1.在eclipse中新建java项目,例如testproject

2.右键项目中的src文件夹,选择import

3.点击general中的file system,单击next

4.在下一步中点击刚简历的目录,并全选所有文件夹

详解JAVA调用WCF服务的示例代码

5.新建测试文件test.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30
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());

}

}

运行程序,出结果

详解JAVA调用WCF服务的示例代码

4.结束语

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:http://www.cnblogs.com/xiaoyaojian/articles/2752779.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 详解JAVA调用WCF服务的示例代码 https://www.kuaiidc.com/115126.html

相关文章

发表评论
暂无评论