IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 11:12:52  更:2022-01-24 11:14:25 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码