| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> spring boot2.x+cxf 搭建webservice服务+postman进行测试:按照步骤操作没问题的 -> 正文阅读 |
|
[开发测试]spring boot2.x+cxf 搭建webservice服务+postman进行测试:按照步骤操作没问题的 |
一: webservice依赖包 <!--webservice-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
二: cxf依赖包 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-core</artifactId> <version>3.1.12</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.12</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.1.12</version> </dependency> 三: 创建接口(接口加上@WebService注解) package com.javaweb.piclesoft.service; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; @WebService( name = "PsonWebService", //服务名(直接写接口名) targetNamespace = "http://service.piclesoft.javaweb.com" //命名空间,接口的倒序 ) public interface PsonWebService { @WebMethod //方法注解 String psonGet(@WebParam(name = "say") String say); //参数注解 } 四: 创建接口的实现类(实现类加上 @Service 和 @WebService注解) package com.javaweb.piclesoft.service.impl; import com.javaweb.piclesoft.service.PsonWebService; import org.springframework.stereotype.Service; import javax.jws.WebService; import java.text.SimpleDateFormat; import java.util.Date; @Service @WebService( name = "PsonWebService", //和接口服务名一样 targetNamespace = "http://service.piclesoft.javaweb.com", //和接口的命名空间一样 endpointInterface = "com.javaweb.piclesoft.service.PsonWebService" //接口的路径 ) public class PsonWebServiceImpl implements PsonWebService { @Override public String psonGet(String say) { SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd:HH:mm:ss"); return say+"时间为: "+simpleDateFormat.format(new Date()); } } 五: 创建一个配置类 package com.javaweb.piclesoft.config;
import com.javaweb.piclesoft.service.WebServiceDemoService;
import com.javaweb.piclesoft.service.impl.PsonWebServiceImpl;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.xml.ws.Endpoint;
@Configuration
public class WebServiceConfig {
?
@Autowired
private PsonWebService psonWebService ;
/**
* 注入servlet bean name不能dispatcherServlet 否则会覆盖dispatcherServlet
* @return
*/
@Bean(name = "cxfServlet")
public ServletRegistrationBean cxfServlet() {
return new ServletRegistrationBean(new CXFServlet(),"/webservice/*");
}
@Bean(name = Bus.DEFAULT_BUS_ID)
public SpringBus springBus() {
return new SpringBus();
}
/**
* 注册PsonWebService接口到webservice服务
* @return
*/
@Bean
public Endpoint psonEndpoint(){
EndpointImpl endpoint =new EndpointImpl(springBus(),psonWebService );
endpoint.publish("/webservice");
return endpoint;
}
}
六: 启动项目,谷歌浏览器访问地址http://localhsot:自己的访问端口号/webservice? ? // 端口号后面的webservice是配置类第一个设置的: (new CXFServlet(),"/webservice/*") 七: postman测试:测试地址为http://localhost:(自己的端口号)/webservice/webservice? ? ?1.?端口号后面的webservice是配置类里面:? (new CXFServlet(),"/webservice/*");? ?2.?第二个webservice是配置类里面:? ?endpoint.publish("/webservice");? ?3. postamn请求方法改为: post;??4.?Headers添加一个参数:? key = Content-Type? ?value = text/xml;charset=UTF-8;? ?5.?在Body 先选择 raw 在选择 xml 格式? 复制下面的格式到xml里面; <?xml?version="1.0"?encoding="UTF-8"?> <soapenv:Envelope?xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"?xmlns:test="http://service.piclesoft.javaweb.com"> ???<soapenv:Body> ??????<test:hello> ????????<name><![CDATA[武汉]]>?</name> ??????</test:hello> ???</soapenv:Body> </soapenv:Envelope> 注意: 1.? xmlns:test= "填写接口上设置的命名空间".? ?2.? <test:hello>? ?hello是接口中的方法名.? ?3. <name>? ?name是方法的参数.? ? 4.? <![CDATA[武汉]]>? 武汉是访问传入的参数值. 八: 点击Send就有结果啦? ?结果如下: <soap:Envelope?xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> ????<soap:Body> ????????<ns2:psonGetResponse?xmlns:ns2="http://service.piclesoft.javaweb.com1"> ????????????<return>武汉?时间为:?2022-01-21:16:11:42</return> ????????</ns2:psonGetResponse> ????</soap:Body> </soap:Envelope> |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 4:24:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |