idea 用java写一个简单webservice接口 示例+调用

您所在的位置:网站首页 webservice接口文档怎么写 idea 用java写一个简单webservice接口 示例+调用

idea 用java写一个简单webservice接口 示例+调用

2024-04-01 04:45| 来源: 网络整理| 查看: 265

一、创建一个基础springboot项目

1.创建项目 在这里插入图片描述 2.选择需要的依赖jar包(这里先不选择依赖) 在这里插入图片描述 3.创建完成 在这里插入图片描述

二、编写代码

1.修改pom.xml文件,引入依赖

org.springframework.boot spring-boot-starter org.apache.cxf cxf-rt-frontend-jaxws 3.4.3 org.apache.cxf cxf-rt-transports-http 3.4.3 org.apache.cxf cxf-spring-boot-starter-jaxws 3.4.3

2.创建包和类 在这里插入图片描述 . . .

WebServiceConfig类

package com.demo.config; import com.demo.webservice.WebServiceTest; 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 { @Bean public ServletRegistrationBean myServlet() { return new ServletRegistrationBean(new CXFServlet(), "/soap/*"); } @Bean(name = Bus.DEFAULT_BUS_ID) public SpringBus springBus() { return new SpringBus(); } @Autowired private WebServiceTest webServiceTest; //去掉注释后:wsdl访问地址为:http://127.0.0.1:8080/soap/test?wsdl @Bean public Endpoint testEndpoint() { EndpointImpl endpoint = new EndpointImpl(springBus(), webServiceTest); endpoint.publish("/test"); return endpoint; } }

. . . WebServiceTest接口

package com.demo.webservice; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.xml.ws.RequestWrapper; import javax.xml.ws.ResponseWrapper; /** * @author: gzc * @createTime: 2021/5/18 * @description: **/ @WebService(targetNamespace = WebServiceTest.TARGET_NAME_SPACE, name = WebServiceTest.WEB_SERVICE_NAME) public interface WebServiceTest { String TARGET_NAME_SPACE = "http://tempuri.org/"; String WEB_SERVICE_NAME = "Service1Soap"; String GETSUM = "GetSum"; @WebMethod(operationName = GETSUM, action = WebServiceTest.TARGET_NAME_SPACE + GETSUM) @RequestWrapper(localName = GETSUM, targetNamespace = WebServiceTest.TARGET_NAME_SPACE) @ResponseWrapper(localName = "GetSumResponse", targetNamespace = WebServiceTest.TARGET_NAME_SPACE) @WebResult(name = "GetSumResult", targetNamespace = WebServiceTest.TARGET_NAME_SPACE) Integer getSum( @WebParam(partName = "number1", name = "number1", targetNamespace = WebServiceTest.TARGET_NAME_SPACE) Integer number1, @WebParam(partName = "number2", name = "number2", targetNamespace = WebServiceTest.TARGET_NAME_SPACE) Integer number2); }

. . . WebServiceTestImpl实现类

package com.demo.webservice.impl; import com.demo.webservice.WebServiceTest; import org.springframework.stereotype.Component; import javax.jws.WebService; import javax.xml.ws.BindingType; import javax.xml.ws.soap.SOAPBinding; /** * @author: gzc * @createTime: 2021/5/18 * @description: **/ @Component @BindingType(value = SOAPBinding.SOAP12HTTP_BINDING) @WebService( serviceName = "Service1Soap12", portName = WebServiceTest.WEB_SERVICE_NAME, targetNamespace = WebServiceTest.TARGET_NAME_SPACE, endpointInterface = "com.demo.webservice.WebServiceTest") public class WebServiceTestImpl implements WebServiceTest { @Override public Integer getSum(Integer number1, Integer number2) { return number1+number2; } }

. . .

三、测试webservice接口

1.下载soapui测试软件 在这里插入图片描述 2.安装soapui ( 数据存储的盘符按需要修改一下,其他的步骤无脑下一步就OK了 ) 在这里插入图片描述 4.打开soapui工具 在这里插入图片描述 5.创建项目 在这里插入图片描述 注意: wsdl路径地址是 你服务器的ip+端口+soap+配置中自定义的路径+?wsdl 在这里插入图片描述

6.添加请求参数,发起webservice请求并获取返回内容 在这里插入图片描述 . . . 就此写完一个简单的webservice接口示例了!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3