怎么maven工程这里就不多说了。。 不会的童鞋百度吧。
这里说的webservice 采用CXF方式发布
首先在maven工程pom文件引用CXF依赖。
<!-- cxf配置 --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.1</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-databinding-aegis</artifactId> <version>3.1.1</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.1.1</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>3.1.1</version> </dependency>
新建一个接口类HelloWorld
package cn.wonhigh.retail.emall.api; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface HelloWorld { @WebMethod String sayHello(); }
HelloWorld实现类
package cn.wonhigh.retail.gms.api.service; import javax.jws.WebService; import org.springframework.stereotype.Service; import cn.wonhigh.retail.emall.api.HelloWorld; @WebService @Service("helloWorld") public class HelloWorldImpl implements HelloWorld { @Override public String sayHello() { // TODO Auto-generated method stub System.out.println("------------"); return "Hello world!"; } }
cxf配置文件 将接口暴露
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" /> <bean id="inLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor" /> <bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor" /> <!-- 注意下面的address,这里的address的名称就是访问的WebService的name --> <jaxws:server serviceClass="cn.wonhigh.retail.emall.api.HelloWorld" address="/helloWorld"> <jaxws:serviceBean> <!-- 要暴露的 bean 的引用 --> <ref bean="helloWorld" /> </jaxws:serviceBean> <jaxws:inInterceptors> <ref bean="inLoggingInterceptor" /> </jaxws:inInterceptors> <jaxws:outInterceptors> <ref bean="outLoggingInterceptor" /> </jaxws:outInterceptors> </jaxws:server> </beans>
通过main方法启动webservice
package cn.wonhigh.retail.gms.api; import javax.xml.ws.Endpoint; import cn.wonhigh.retail.gms.api.config.DiamondLoaderContainer; import cn.wonhigh.retail.gms.api.service.HelloWorldImpl; /** * 服务的入口类 * 因dubbo自动扩展点无法扩展,故自行实现一个扩展类,预先启动diamond下载配置后启动Spring * @author wei.b * @date Jun 24, 2014 6:21:00 PM * @version 0.5.2 * @copyright yougou.com */ public class Main { /** * @param args dubbo扩展点名称 如:spring、jetty、log4j、logback<br/> * 详细请查询 dubbo包中META-INF\dubbo\com.alibaba.dubbo.container.Container * @see com.alibaba.dubbo.container.Container */ protected Main() throws Exception { // START SNIPPET: publish System.out.println("Starting Server"); HelloWorldImpl implementor = new HelloWorldImpl(); String address = "http://localhost:8111/helloWorld"; Endpoint.publish(address, implementor); // END SNIPPET: publish } public static void main(String[] args) throws Exception { new Main(); //new DiamondLoaderContainer().contextInitialized(); //com.alibaba.dubbo.container.Main.main(args); } }
好了 到这一步启动main方法,在浏览器上输入http://localhost:8111/helloWorld?wsdl应该就能看到对应的信息了。
再说下怎么调用吧
package cn.wonhigh.retail.eamll.api.test; import org.apache.cxf.endpoint.Client; import org.apache.cxf.endpoint.ClientImpl; import org.apache.cxf.endpoint.Endpoint; import org.apache.cxf.endpoint.dynamic.DynamicClientFactory; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; import org.apache.cxf.service.model.BindingInfo; import org.apache.cxf.service.model.ServiceInfo; import javax.xml.namespace.QName; import java.net.URL; import javax.xml.ws.Service; /** * 测试webService * * @author cai.x * */ public class WebserviceClient { private static final QName SERVICE_NAME = new QName("http://api.emall.retail.wonhigh.cn", "HelloWorldImplService"); public static void main(String[] args) throws Exception { try { JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf.createClient("http://localhost:8111/helloWorld?wsdl"); //sayHello 为接口中定义的方法名称 张三为传递的参数 返回一个Object数组 QName opName = new QName("http://api.emall.retail.wonhigh.cn/", "sayHello"); // 指定到接口类所在包 Object[] objects=client.invoke(opName); for (Object object : objects) { System.out.println(object); } } catch (Exception e) { e.printStackTrace(); } } }
相关推荐
基于spring boot + maven + opencv 实现的图像深度学习Demo项目,包含车牌识别、人脸识别、证件识别等功能,贯穿样本处理、模型训练、图像处理、对象检测、对象识别等技术点。 基于spring boot + maven + opencv ...
SSM+Maven+Shiro 是一种常见的Java Web开发架构,由Spring、Spring MVC(SSM)和Apache Shiro三个核心组件组成。这个整合旨在提供一个高效、灵活且安全的后端开发环境。 **Spring** 是一个开源的Java平台,它简化了...
基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+maven+httpClient+jsoup实现小说网站项目 基于SSM+...
基于maven+jsp+servlet+mysql+java的作业管理系统 基于maven+jsp+servlet+mysql+java的作业管理系统 基于maven+jsp+servlet+mysql+java的作业管理系统 基于maven+jsp+servlet+mysql+java的作业管理系统 基于maven+...
1. Docker+Jenkins+GitLab+Maven+Harbor+SpringBoot自动化构建+Jenkins自动化部署配置 2.无须运维部署 ,而是相关的开发人员,测试人员登录jenkins传入需要部署的tag即可,整个部署过程无须运维参与,解放运维劳动力
基于SSM+maven+httpClient+jsoup实现小说网站项目源码.zip 基于SSM+maven+httpClient+jsoup实现小说网站项目源码.zip 基于SSM+maven+httpClient+jsoup实现小说网站项目源码.zip 基于SSM+maven+httpClient+jsoup实现...
Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud;自动化构建
毕设:基于maven+jsp+servlet+mysql+java的作业管理系统毕设:基于maven+jsp+servlet+mysql+java的作业管理系统毕设:基于maven+jsp+servlet+mysql+java的作业管理系统毕设:基于maven+jsp+servlet+mysql+java的作业...
基于Maven+IDEA的汽车销售管理系统源码.zip基于Maven+IDEA的汽车销售管理系统源码.zip基于Maven+IDEA的汽车销售管理系统源码.zip基于Maven+IDEA的汽车销售管理系统源码.zip基于Maven+IDEA的汽车销售管理系统源码.zip...
基于SSM+shiro+maven+bootstrap的图书馆管理系统源码 基于SSM+shiro+maven+bootstrap的图书馆管理系统源码 基于SSM+shiro+maven+bootstrap的图书馆管理系统源码 基于SSM+shiro+maven+bootstrap的图书馆管理系统源码 ...
Web项目中基于Maven与Spring整合的WebService之cxf的实现⬇️ 详情请参考如下链接: https://locqi.github.io/locqi.com/2018/09/05/Eclipse+Maven+Spring+CXF-create-WebService/
基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台4
基于SSM + Maven + Bootstrap实现新闻网站系统,前后端分离 基于SSM + Maven + Bootstrap实现新闻网站系统,前后端分离 基于SSM + Maven + Bootstrap实现新闻网站系统,前后端分离 基于SSM + Maven + Bootstrap实现...
项目描述 以前的一个学长让我帮着做的一个项目,vue花店,适合做手机端商城,需要Vue商城的,可以下载下去进行二开。...vue的启动方式,我在前一个vue点餐模板中说过。在此不叙述。这里只上传后台逻辑功能...vue+maven+ssh
本项目以“maven+springmvc+redis+mybatis整合”为主题,旨在提供一个基于这些技术的集成框架,特别强调了利用Redis作为缓存来提升应用性能。下面将详细阐述这个框架中的各个组成部分以及它们之间的协作。 首先,...
在安装 Maven 之前,我们需要确保 Java Development Kit (JDK) 已经安装在我们的计算机上,因为 Maven 需要使用 JDK 来编译和运行 Java 程序。安装 Maven 时,我们需要根据提示选择合适的安装目录和配置文件的位置。...
毕设项目:基于maven+SSM框架实现的云端汽修后台管理系统 毕设项目:基于maven+SSM框架实现的云端汽修后台管理系统 毕设项目:基于maven+SSM框架实现的云端汽修后台管理系统 毕设项目:基于maven+SSM框架实现的云端...
Java+Selenium+Maven+TestNG自动化测试框架是现代软件开发中的一个重要组成部分,尤其是在Web应用程序的质量保证阶段。这个实例项目展示了如何将这四个强大的工具集成为一套完整的自动化测试解决方案。 **Java**: ...
1、Testng+selenium+Maven+WebDriver+Java+eclipse 实现禅道登录,百度搜索。 2、eclipse需安装Testng+selenium+Maven 3、下载对应版本的WebDriver驱动。Chrome驱动下载地址...