zoukankan      html  css  js  c++  java
  • 记录webservice

    公司的一个老项目,定义了接口,供其他应用访问.定义的方式就是webservice.

    我这边的环境是springboot.

    首先引入依赖jar

        

    声明一个服务端. @WebSerevice注解中name则是对外暴露的服务.

    被@WebMethod 注解的方法,则是webservice对外暴露的方法.

    import com.alibaba.fastjson.JSON;
    import com.prologint.waybill.api.ParameterEntity.GetWaybillYTRequest;
    import com.prologint.waybill.api.ParameterEntity.GetWaybillYTResponse;
    import com.prologint.waybill.service.GetWaybillYTService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Component;
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    
    @WebService(name = "WaybillYT")
    @Component
    public class WaybillYTService {
    

      @WebMethod public String getWaybillYT(String billNo, String branchId, String consignor) { return "ok"; } }

    配置webservice.

    import javax.xml.ws.Endpoint;
    
    import org.apache.cxf.Bus;
    import org.apache.cxf.jaxws.EndpointImpl;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    public class WaybillYTServiceConfig {
        @Autowired
        private Bus bus;
    
        @Autowired
        private WaybillYTService waybillYTService;
    
        /** JAX-WS **/
        @Bean
        public Endpoint endpoint() {
            EndpointImpl endpoint = new EndpointImpl(bus, waybillYTService);
            endpoint.publish("/WaybillYT");
            return endpoint;
        }
    }

    客户端测试,端口替换为自己的服务器port即可

    import org.apache.cxf.endpoint.Client;
    import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
    
    public class Cilent {
        public static void main(String[] args) {
            // 创建动态客户端
            JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
            Client client = dcf.createClient("http://localhost:80/services/WaybillYT?wsdl");
            Object[] objects = new Object[0];
            try {
                // invoke("方法名",参数1,参数2,参数3....);
                objects = client.invoke("getWaybillYT", "111111","222222222","3333333333");
                System.out.println("返回数据:" + objects[0]);
            } catch (java.lang.Exception e) {
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    Android+Jquery Mobile学习系列(9)-总结和代码分享
    Android+Jquery Mobile学习系列(8)-保单/生日提醒功能
    Android+Jquery Mobile学习系列(7)-保险人信息
    Android+Jquery Mobile学习系列(6)-个人信息设置
    jquerymobile之collapsible可折叠块标题内容动态显示
    Android+Jquery Mobile学习系列(5)-SQLite数据库
    Android+Jquery Mobile学习系列(4)-页面转场及参数传递
    Android+Jquery Mobile学习系列(3)-创建Android项目
    cmd命令 拷贝某文件夹及其子文件夹文件到其它文件夹
    精简JRE的思路初探
  • 原文地址:https://www.cnblogs.com/zumengjie/p/11497177.html
Copyright © 2011-2022 走看看