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)Javajdk1.7.0in中建立文件夹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客户端代码

原文地址:https://www.cnblogs.com/dengyibing/p/4167216.html