zoukankan      html  css  js  c++  java
  • CXF调用方式——使用wsdl2java(Windwos下)

    1、自动生成客户端代码:

    先把CXF下到本地,本例中我下的是apache-cxf-3.1.2,然后在命令行里到相应路径执行命令:

    D:softDevelopSoftapache-cxf-3.1.2in>wsdl2java -d D:\src -client http://172.16.10.87/platform3.0/webService/TestWebservice?wsdl

     D:softDevelopSoftapache-cxf-3.1.2in>wsdl2java -encoding utf-8 -d D:\src -client http://localhost:8080/dbws?wsdl

    如此wsdl2java工具会自动为你生成客户端可调用代码在D盘的src目录下。

    2、在程序中使用

    本例中服务端有一个接口ITestWebservice以及一个实现类TestWebserviceImpl。

    自动生成的代码里会有一个ITestWebservice以及一个TestWebserviceImplService,与上边两个算是一个对应关系。

    使用的时候有两种方式:

    一、可以只通过ITestWebservice加地址的方式来调用

    二、也可以通过ITestWebserviceTestWebserviceImplService的方式来调用

    下边的代码里包含了这两种方式:

    import org.apache.cxf.interceptor.LoggingInInterceptor;
    import org.apache.cxf.interceptor.LoggingOutInterceptor;
    import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
    
    import com.sdyy.webservice.ITestWebservice;
    import com.sdyy.webservice.TestWebserviceImplService;
    
    /**
     * @ClassName: WebServiceTest
     * @Description: TODO
     * @author: liuyx 
     * @date: 2015年9月27日下午5:22:15
     */
    public class WebServiceTest3 {
        private static final String testUrl = "http://172.16.10.87/platform3.0/webService/TestWebservice?wsdl";
        public static void main1(String[] args) throws Exception {
            JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();
            factoryBean.getInInterceptors().add(new LoggingInInterceptor());
                factoryBean.getOutInterceptors().add(new LoggingOutInterceptor());
                factoryBean.setServiceClass(ITestWebservice.class);
                factoryBean.setAddress(testUrl);
                ITestWebservice impl = (ITestWebservice) factoryBean.create();
                System.out.println(impl.testOut("咯咯咯"));
        }
        public static void main(String[] args) throws Exception {
            TestWebserviceImplService factory = new TestWebserviceImplService();
            ITestWebservice testOut = factory.getTestWebserviceImplPort();
            System.out.println(testOut.testOut("GEGEGE"));
        }
    }

    动态创建客户端的方式,请参阅本博另一篇。

    http://www.cnblogs.com/flying607/p/6254045.html

  • 相关阅读:
    操作系统第一章绪论
    JavaScript推断E-mail地址是否合法
    projecteuler---->problem=8----Largest product in a series
    QQ聊天原理初识
    窗体和线程漫谈之工作线程怎样将数据的处理结果显示到窗体
    Swift
    iOS-UIApplication详解
    iOS开发拓展篇——如何把项目托管到GitHub
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/flying607/p/6264499.html
Copyright © 2011-2022 走看看