学校网站管理系统,百度云资源搜索网站,微信网页网站怎么做,莆田高端网站建设文章目录 1、使用maven-web项目生成server-config.wsdd文件1.1、新建maven-web项目1.1.1、新建项目1.1.2、添加依赖 1.2、编写服务接口和实现类1.2.1、OrderService接口1.2.2、OrderServiceImpl实现类 1.3、配置deploy.wsdd文件deploy.wsdd文件 1.4、配置tomcat1.4.1、配置tomc… 文章目录 1、使用maven-web项目生成server-config.wsdd文件1.1、新建maven-web项目1.1.1、新建项目1.1.2、添加依赖 1.2、编写服务接口和实现类1.2.1、OrderService接口1.2.2、OrderServiceImpl实现类 1.3、配置deploy.wsdd文件deploy.wsdd文件 1.4、配置tomcat1.4.1、配置tomcat-server1.4.2、配置web.xml 文件 1.5、生成server-config.wsdd文件1.5.1、验证服务是否发布1.5.2、生成server-config.wsdd文件1.5.3、验证server-config.wsdd文件 2、将axis集成到SpringBoot应用中去2.1、新建springboot应用2.2、配置应用2.2.1、复制server-config.wsdd文件2.2.2、新建AxisServiceConfig配置类2.2.3、新建EngineConfigurationFactoryServlet类 2.3、启动并访问 3、验证服务3.1、获取wsdl文件3.2、使用soapUI验证 本文档详细说明了使用SpringBoot集成axis发布WebService服务的步骤供大家在开发的过程中参考 1、使用maven-web项目生成server-config.wsdd文件
1.1、新建maven-web项目
1.1.1、新建项目
新建maven-web项目archetype这里选择maven-archetype-webapp 1.1.2、添加依赖
pom.xml的依赖添加如下 !-- 引入axis的依赖 BEGIN --
dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.0/version
/dependency
dependencygroupIdaxis/groupIdartifactIdaxis/artifactIdversion1.4/version
/dependency
dependencygroupIdaxis/groupIdartifactIdaxis-wsdl4j/artifactIdversion1.5.1/version
/dependency
dependencygroupIdjavax.mail/groupIdartifactIdmail/artifactIdversion1.4.7/version
/dependency
!-- 引入axis的依赖 END --1.2、编写服务接口和实现类
1.2.1、OrderService接口
新建一个OrderService接口如下
package com.iambest.study.axis.service;public interface OrderService {/*** 下单接口* param userId 用户ID* param token 令牌* param orderInfo 订单信息-JSON格式* return*/String createOrder(String userId, String token, String orderInfo);/*** 支付接口* param userId 用户ID* param token 令牌* param paymentInfo 支付信息-JSON格式* return*/String payment(String userId, String token, String paymentInfo);}
1.2.2、OrderServiceImpl实现类
新建接口实现类这里演示需要仅对方法做简单实现如下
package com.iambest.study.axis.service.impl;import com.iambest.study.axis.service.OrderService;public class OrderServiceImpl implements OrderService {Overridepublic String createOrder(String userId, String token, String orderInfo) {return SUCCESS;}Overridepublic String payment(String userId, String token, String paymentInfo) {return SUCCESS;}
}
1.3、配置deploy.wsdd文件
deploy.wsdd文件
在webapp/WEB-INF目录下新建deploy.wsdd文件如下 deployment xmlnshttp://xml.apache.org/axis/wsdd/xmlns:javahttp://xml.apache.org/axis/wsdd/providers/java!-- name: 服务名随便写。 --service nameOrderService providerjava:RPCparameter nameclassName valuecom.iambest.study.axis.service.impl.OrderServiceImpl /!-- value表示哪些方法需要发布*表示全部的public方法。 --!-- 如果想指定方法名方法名与方法名用逗号隔开 --parameter nameallowedMethods value* /!-- 指定命名空间 --namespacehttp://com.iambest.study.axis.service/OrderServiceHttpSoap11Endpoint/namespace/service
/deployment
1.4、配置tomcat
1.4.1、配置tomcat-server
菜单栏Edit Configurations , 点击号选择Tomcat Server -- Local, 如下 在Server标签页下Application server 点击Configure选择你本地的Tomcat 服务器的路径如下 然后选择Deploymen标签页点击号选择当前的项目即可 1.4.2、配置web.xml 文件
web.xml文件新增如下的内容
!-- WebService接入配置 BEGIN --
servletservlet-nameAxisServlet/servlet-nameservlet-classorg.apache.axis.transport.http.AxisServlet/servlet-class
/servlet
servlet-mappingservlet-nameAxisServlet/servlet-nameurl-pattern/services/*/url-pattern
/servlet-mapping
!-- WebService接入配置 END --1.5、生成server-config.wsdd文件
1.5.1、验证服务是否发布
直接启动tomcat浏览器访问http://127.0.0.1:8080/axis_study/services显示如下的内容表示webservice服务发布成功了 1.5.2、生成server-config.wsdd文件
切换到tomcat的webapps目录下我的是mac电脑路径如下/Users/david/Developer/apache-tomcat-8.5.98/webapps/axis_study/WEB-INF , 如果是别的电脑则根据你的实际路径切换即可
执行如下的命令
java -Djava.ext.dirslib org.apache.axis.client.AdminClient -l http://127.0.0.1:8080/axis_study/services deploy.wsdd显示如下表示生成文件成功 1.5.3、验证server-config.wsdd文件
将生成好的server-config.wsdd文件复制到工程文件的WEB-INF目录下和deploy.wsdd同级即可然后重启tomcat再次访问http://127.0.0.1:8080/axis_study/services 显示如下表示成功生成server-config.wsdd文件 2、将axis集成到SpringBoot应用中去
2.1、新建springboot应用
新建springboot工程将1.1.2章节的依赖添加到当前的pom.xml文件中并将接口和实现类复制到当前的工程中如下 2.2、配置应用
2.2.1、复制server-config.wsdd文件
在resources目录下新建WEB-INF文件夹将1.5.2章节中生成的server-config.wsdd文件复制到WEB-INF目录下
2.2.2、新建AxisServiceConfig配置类
新建AxisServiceConfig配置类内容如下
package com.iambest.study.axis.config;import org.apache.axis.transport.http.AxisServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;Configuration
public class AxisServiceConfig {Beanpublic ServletRegistrationBeanAxisServlet axisServletServletRegistrationBean() {ServletRegistrationBeanAxisServlet axisServletServletRegistrationBean new ServletRegistrationBean(new AxisServlet(),/services/*);axisServletServletRegistrationBean.setName(AxisServlet);axisServletServletRegistrationBean.setLoadOnStartup(1);return axisServletServletRegistrationBean;}}
2.2.3、新建EngineConfigurationFactoryServlet类
新建EngineConfigurationFactoryServlet类必须放到org.apache.axis.configuration包路径下内容入下
package org.apache.axis.configuration;import java.io.InputStream;
import javax.servlet.ServletConfig;import org.apache.axis.AxisProperties;
import org.apache.axis.ConfigurationException;
import org.apache.axis.EngineConfiguration;
import org.apache.axis.EngineConfigurationFactory;
import org.apache.axis.components.logger.LogFactory;
import org.apache.axis.server.AxisServer;
import org.apache.axis.utils.ClassUtils;
import org.apache.axis.utils.Messages;
import org.apache.commons.logging.Log;public class EngineConfigurationFactoryServlet extends EngineConfigurationFactoryDefault {protected static Log log LogFactory.getLog(EngineConfigurationFactoryServlet.class.getName());private ServletConfig cfg;public static EngineConfigurationFactory newFactory(Object param) {return (param instanceof ServletConfig)? new EngineConfigurationFactoryServlet((ServletConfig) param): null;}protected EngineConfigurationFactoryServlet(ServletConfig conf) {super();this.cfg conf;}Overridepublic EngineConfiguration getServerEngineConfig() {return getServerEngineConfig(cfg);}/*** Get a default server engine configuration in a servlet environment.** param cfg a ServletContext* return a server EngineConfiguration*/private static EngineConfiguration getServerEngineConfig(ServletConfig cfg) {String configFile cfg.getInitParameter(OPTION_SERVER_CONFIG_FILE);if (configFile null) {configFile AxisProperties.getProperty(OPTION_SERVER_CONFIG_FILE);}if (configFile null) {configFile SERVER_CONFIG_FILE;}String appWebInfPath /WEB-INF;FileProvider config null;String realWebInfPath EngineConfigurationFactoryServlet.class.getResource(appWebInfPath).getPath();InputStream iss ClassUtils.getResourceAsStream(EngineConfigurationFactoryServlet.class, appWebInfPath / SERVER_CONFIG_FILE);if (iss ! null) {config new FileProvider(iss);}if (config null) {log.error(Messages.getMessage(servletEngineWebInfError03, ));}if (config null realWebInfPath ! null) {try {config new FileProvider(realWebInfPath, configFile);} catch (ConfigurationException e) {log.error(Messages.getMessage(servletEngineWebInfError00), e);}}/*** Fall back to config file packaged with AxisEngine*/if (config null) {log.warn(Messages.getMessage(servletEngineWebInfWarn00));try {InputStream is ClassUtils.getResourceAsStream(AxisServer.class,SERVER_CONFIG_FILE);config new FileProvider(is);} catch (Exception e) {log.error(Messages.getMessage(servletEngineWebInfError02), e);}}return config;}}
最终的项目结构如下图所示 2.3、启动并访问
启动springboot应用并访问http://127.0.0.1:8080/services路径显示内容如下表示发布服务成功 3、验证服务
3.1、获取wsdl文件
通过wget命令获取wsdl文件
wget -O OrderService.wsdl http://127.0.0.1:8080/services/OrderService?wsdl文件获取成功如下
3.2、使用soapUI验证
导入刚才的wsdl文件后发送请求信息返回如下的信息表示成功