From e18828825efe043781ed884513e5e4e5b2dffcbe Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 12 七月 2021 16:51:15 +0800
Subject: [PATCH] # webservice demo 模块
---
src/main/java/com/zy/common/webservice/service/WebServiceDemoService.java | 15 +++++
src/main/java/com/zy/common/webservice/mock/DemoMock.java | 27 +++++++++
src/main/java/com/zy/common/webservice/service/WebServiceDemoServiceImpl.java | 22 +++++++
pom.xml | 16 +++++
src/main/java/com/zy/common/webservice/config/WebServiceConfig.java | 50 ++++++++++++++++
5 files changed, 130 insertions(+), 0 deletions(-)
diff --git a/pom.xml b/pom.xml
index cb3b76e..dc82ce5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,6 +97,22 @@
<version>1.16.22</version>
<scope>provided</scope>
</dependency>
+ <!-- WebService 鏈嶅姟绔� -->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web-services</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
+ <version>3.3.4</version>
+ </dependency>
+ <!-- WebService 瀹㈡埛绔� -->
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
+ <version>3.3.4</version>
+ </dependency>
</dependencies>
<build>
diff --git a/src/main/java/com/zy/common/webservice/config/WebServiceConfig.java b/src/main/java/com/zy/common/webservice/config/WebServiceConfig.java
new file mode 100644
index 0000000..ee6155d
--- /dev/null
+++ b/src/main/java/com/zy/common/webservice/config/WebServiceConfig.java
@@ -0,0 +1,50 @@
+package com.zy.common.webservice.config;
+
+import com.zy.common.webservice.service.WebServiceDemoService;
+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;
+
+
+/**
+ * Created by vincent on 2021/7/12
+ */
+@Configuration
+public class WebServiceConfig {
+
+ @Autowired
+ private WebServiceDemoService webServiceDemoService;
+
+ /**
+ * 娉ㄥ叆servlet bean name涓嶈兘dispatcherServlet 鍚﹀垯浼氳鐩杁ispatcherServlet
+ * @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();
+ }
+
+ /**
+ * 娉ㄥ唽WebServiceDemoService鎺ュ彛鍒皐ebservice鏈嶅姟
+ * @return
+ */
+ @Bean(name = "WebServiceDemoEndpoint")
+ public Endpoint sweptPayEndpoint() {
+ EndpointImpl endpoint = new EndpointImpl(springBus(), webServiceDemoService);
+ endpoint.publish("/webservice");
+ return endpoint;
+ }
+
+}
diff --git a/src/main/java/com/zy/common/webservice/mock/DemoMock.java b/src/main/java/com/zy/common/webservice/mock/DemoMock.java
new file mode 100644
index 0000000..3a51f0e
--- /dev/null
+++ b/src/main/java/com/zy/common/webservice/mock/DemoMock.java
@@ -0,0 +1,27 @@
+package com.zy.common.webservice.mock;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
+
+/**
+ * Created by vincent on 2021/7/12
+ */
+public class DemoMock {
+
+ public static void main(String[] args) {
+ JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
+ Client client = dcf.createClient("http://localhost:8081/gdwms/webservice/webservice?wsdl");
+ Object[] objects = new Object[0];
+ ObjectMapper mapper = new ObjectMapper();
+ try {
+ // invoke("鏂规硶鍚�",鍙傛暟1,鍙傛暟2,鍙傛暟3....);
+ objects = client.invoke("hello", "vincent");
+ System.out.println(mapper.writeValueAsString(objects[0]));
+ } catch (java.lang.Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+}
diff --git a/src/main/java/com/zy/common/webservice/service/WebServiceDemoService.java b/src/main/java/com/zy/common/webservice/service/WebServiceDemoService.java
new file mode 100644
index 0000000..cc32068
--- /dev/null
+++ b/src/main/java/com/zy/common/webservice/service/WebServiceDemoService.java
@@ -0,0 +1,15 @@
+package com.zy.common.webservice.service;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+
+@WebService(name = "WebServiceDemoService", // 鏆撮湶鏈嶅姟鍚嶇О
+ targetNamespace = "http://service.webservice.common.zy.com"// 鍛藉悕绌洪棿,涓�鑸槸鎺ュ彛鐨勫寘鍚嶅�掑簭
+)
+public interface WebServiceDemoService {
+
+ @WebMethod
+ String hello(@WebParam(name = "name")String name);
+
+}
diff --git a/src/main/java/com/zy/common/webservice/service/WebServiceDemoServiceImpl.java b/src/main/java/com/zy/common/webservice/service/WebServiceDemoServiceImpl.java
new file mode 100644
index 0000000..16d3712
--- /dev/null
+++ b/src/main/java/com/zy/common/webservice/service/WebServiceDemoServiceImpl.java
@@ -0,0 +1,22 @@
+package com.zy.common.webservice.service;
+
+import org.springframework.stereotype.Service;
+
+import javax.jws.WebService;
+
+/**
+ * Created by vincent on 2021/7/12
+ */
+@Service
+@WebService(serviceName = "WebServiceDemoService", // 涓庢帴鍙d腑鎸囧畾鐨刵ame涓�鑷�
+ targetNamespace = "http://service.webservice.common.zy.com", // 涓庢帴鍙d腑鐨勫懡鍚嶇┖闂翠竴鑷�,涓�鑸槸鎺ュ彛鐨勫寘鍚嶅��
+ endpointInterface = "com.zy.common.webservice.service.WebServiceDemoService" // 鎺ュ彛鍦板潃
+)
+public class WebServiceDemoServiceImpl implements WebServiceDemoService {
+
+ @Override
+ public String hello(String name) {
+ return "ok" + name;
+ }
+
+}
--
Gitblit v1.9.1