JAVA调用WCF

时间:2023-03-09 10:05:40
JAVA调用WCF

Java环境下生成代理类的工具有很多,如wsdl2Java,wsimport 等。本文中使用的工具是wsimport。

1.wsdl2Java 生成命令实例:

wsdl2Java -p packageName -d C:\ProxyClass http://127.0.0.1/WcfService/TestService.svc?wsdl

命令说明:

-p:生成文件的包名称

-d: 生成路径

后面就是wsdl的地址,如果用服务地址(不带?wsdl)貌似不行

Java环境下的都是包结构,和C#不一样。

2.本文使用wsimport生成WCF的Java客户端代理类,调用了WCF服务。

调用步骤:

1、在C:\Program Files (x86)\Java\jdk1.7.0\bin中建立文件夹JavaSrc,以放置生成的Java文件。如下图:

2、将在当前路径的JavaSrc下生成相关的Java类,直接复制到项目的Src目录下即可使用。
下面还是以上次创建的http://localhost:8000/HelloTimeService?wsdl为例,测试过程如下:

运行以上命令后生成的文件如下:

3、在工程的src中添加JavaSrc下面的java文件,如下图:

5、调用WCF服务:

public class CaServiceTest {

public  static void getService() {

String request = "{\"IDNumber\":\"xxxxxxxxxxxxxxxxxx\", \"Name\":\"xxx\"} ";

String cred = "{\"UserName\":\"xxxxx\", \"Password\": \"xxxxxx\"} ";

cn.com.nciic.ObjectFactory factory = new cn.com.nciic.ObjectFactory();

SimpleCheckByJson simple = factory.createSimpleCheckByJson();

simple.setRequest(factory.createSimpleCheckByJsonRequest(request));

simple.setCred(factory.createExactCheckByJsonCred(cred));

IdentifierService service = new IdentifierService();

IIdentifierService iIdentifierService =  service.getBasicHttpBindingIIdentifierService();

String result = iIdentifierService.simpleCheckByJson(request, cred);

System.out.println(result);

}

public static void main(String[] args){

CaServiceTest test = new CaServiceTest();

test.getService();

}

}

6.运行结果:

7.参考引用:

1.     http://www.tuicool.com/articles/Bji6R3v(JAVA调用WCF)

2.     http://www.xuebuyuan.com/1043941.html(用WSImport生成WSDL的Java客户端代码