diff --git a/spring-boot-webservice/pom.xml b/spring-boot-webservice/pom.xml
new file mode 100644
index 0000000..871cb20
--- /dev/null
+++ b/spring-boot-webservice/pom.xml
@@ -0,0 +1,55 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.3.4.RELEASE
+
+
+ xyz.zhouzhaodong
+ spring-boot-webservice
+ 0.0.1-SNAPSHOT
+ spring-boot-webservice
+ Demo project for Spring Boot
+
+
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.apache.cxf
+ cxf-spring-boot-starter-jaxws
+ 3.4.0
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/spring-boot-webservice/src/main/java/xyz/zhouzhaodong/springbootwebservice/SpringBootWebserviceApplication.java b/spring-boot-webservice/src/main/java/xyz/zhouzhaodong/springbootwebservice/SpringBootWebserviceApplication.java
new file mode 100644
index 0000000..1b9aebc
--- /dev/null
+++ b/spring-boot-webservice/src/main/java/xyz/zhouzhaodong/springbootwebservice/SpringBootWebserviceApplication.java
@@ -0,0 +1,13 @@
+package xyz.zhouzhaodong.springbootwebservice;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringBootWebserviceApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringBootWebserviceApplication.class, args);
+ }
+
+}
diff --git a/spring-boot-webservice/src/main/java/xyz/zhouzhaodong/springbootwebservice/client/CxfClient.java b/spring-boot-webservice/src/main/java/xyz/zhouzhaodong/springbootwebservice/client/CxfClient.java
new file mode 100644
index 0000000..39a338c
--- /dev/null
+++ b/spring-boot-webservice/src/main/java/xyz/zhouzhaodong/springbootwebservice/client/CxfClient.java
@@ -0,0 +1,66 @@
+package xyz.zhouzhaodong.springbootwebservice.client;
+
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
+import xyz.zhouzhaodong.springbootwebservice.service.CommonService;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author zhouzhaodong
+ */
+public class CxfClient {
+
+ public static void main(String[] args) {
+ cl2();
+ }
+
+ /**
+ * 方式1.代理类工厂的方式,需要拿到对方的接口
+ */
+ public static void cl1() {
+ try {
+ // 接口地址
+ String address = "http://localhost:8080/services/CommonService?wsdl";
+ // 代理工厂
+ JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
+ // 设置代理地址
+ jaxWsProxyFactoryBean.setAddress(address);
+ // 设置接口类型
+ jaxWsProxyFactoryBean.setServiceClass(CommonService.class);
+ // 创建一个代理接口实现
+ CommonService cs = (CommonService) jaxWsProxyFactoryBean.create();
+ // 数据准备
+ String userName = "Leftso";
+ // 调用代理接口的方法调用并返回结果
+ String result = cs.sayHello(userName);
+ System.out.println("返回结果:" + result);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 方式2.动态调用方式
+ */
+ public static void cl2() {
+
+ // 创建动态客户端
+ JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
+ Client client = dcf.createClient("http://localhost:8080/services/CommonService?wsdl");
+ // 需要密码的情况需要加上用户名和密码
+ // client.getOutInterceptors().add(new ClientLoginInterceptor(USER_NAME, PASS_WORD));
+ Object[] objects;
+ try {
+ objects = client.invoke("sayHello", "1");
+ List