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