idea 用java写一个简单webservice接口 示例+调用 |
您所在的位置:网站首页 › webservice接口文档怎么写 › idea 用java写一个简单webservice接口 示例+调用 |
一、创建一个基础springboot项目
1.创建项目 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.32.创建包和类 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测试软件 6.添加请求参数,发起webservice请求并获取返回内容 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |