zoukankan      html  css  js  c++  java
  • spring mvc + mybaties + mysql 完美整合cxf 实现webservice接口 (服务端、客户端)

    spring-3.1.2、cxf-3.1.3、mybaties、mysql 整合实现webservice需要的完整jar文件 地址:http://download.csdn.net/detail/xuxiaoyu__/9868032

    整合的过程其实很简单,通过简单的配置就可以,但是可悲的是 一堆问题都是由于jar缺失或者jar版本冲突引起的,所以附上全部jar文件

    发布webservice服务

    第一步:编写接口和实现类

    PlcDataDetail.java

     1 package test;
     2 
     3 import java.util.Date;
     4 
     5 public class PlcDataDetail{
     6 
     7     private Integer id;
     8 
     9     private Integer plc_info_address_id;
    10 
    11     private String value;
    12 
    13     private Date create_time;
    14 
    15     public Integer getId() {
    16         return id;
    17     }
    18 
    19     public void setId(Integer id) {
    20         this.id = id;
    21     }
    22 
    23     public Integer getPlc_info_address_id() {
    24         return plc_info_address_id;
    25     }
    26 
    27     public void setPlc_info_address_id(Integer plc_info_address_id) {
    28         this.plc_info_address_id = plc_info_address_id;
    29     }
    30 
    31     public String getValue() {
    32         return value;
    33     }
    34 
    35     public void setValue(String value) {
    36         this.value = value;
    37     }
    38 
    39     public Date getCreate_time() {
    40         return create_time;
    41     }
    42 
    43     public void setCreate_time(Date create_time) {
    44         this.create_time = create_time;
    45     }
    46 }
    View Code

    BaseWebService.java

     1 package xd.service.plc;
     2 
     3 import javax.jws.WebService;
     4 
     5 import xd.persistence.beans.PlcDataDetail;
     6 
     7 /**
     8  * This class was generated by Apache CXF 3.1.6
     9  * 2017-06-12T10:16:26.245+08:00
    10  * Generated source version: 3.1.6
    11  * 
    12  */
    13 //必须为targetNamespace赋值,在另一个项目调用接口时,值必须一致,不然会匹配不到
    14 //(可以把发布时默认的值赋值给targetNamespace)
    15 @WebService(targetNamespace = "http://impl.plc.service.xd/")
    16 public interface BaseWebService {
    17 
    18     public PlcDataDetail readPlcData(Integer id);
    19 }

    BaseWebServiceImp.java

     1 package xd.service.plc.impl;
     2 
     3 import javax.jws.WebService;
     4 
     5 import org.springframework.beans.factory.annotation.Autowired;
     6 
     7 import xd.persistence.beans.PlcDataDetail;
     8 import xd.service.plc.BaseWebService;
     9 import xd.service.plc.PlcDataDetailService;
    10 
    11 
    12 @WebService(endpointInterface="xd.service.plc.BaseWebService",serviceName="plcDataService")
    13 public class BaseWebServiceImp implements BaseWebService {
    14     @Autowired
    15     private PlcDataDetailService plcDataDetailService;//业务处理类
    16     
    17     public PlcDataDetail readPlcData(Integer id) {
    18         PlcDataDetail plcDataDetail = new PlcDataDetail();
    19         plcDataDetail = plcDataDetailService.selectbyId(id);
    20         return plcDataDetail;
    21     }
    22 
    23 }

    第二步:配置spring的核心文件 application-context.xml

    添加命名空间以及配置接口发布信息:

    1 xmlns:jaxws="http://cxf.apache.org/jaxws" 
    2 xmlns:jaxrs="http://cxf.apache.org/jaxrs"
    3 
    4 xsi:schemaLocation="http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
    5            http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"
    6 <!-- address:暴露出来的地址,名称自己随便起 ;id属性此处不加也没问题-->
    <!-- 如果要发布多个接口服务,再配置多个<jaxws/>即可,客户端调用时创建多个JaxWsPorxyFactoryBean对象就行了 -->
    7 <jaxws:endpoint implementor="xd.service.plc.impl.BaseWebServiceImp" address="/ReadPlcData" />

    配置web.xml:

    
    

    <servlet-name>CXFService</servlet-name>
      <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    </servlet>
    <!-- 本系统的WebService路径必须以/ws/开头 -->
    <servlet-mapping>
      <servlet-name>CXFService</servlet-name>
      <url-pattern>/ws/*</url-pattern>
    </servlet-mapping>

     访问:http://localhost:8080/ws  查看是否显示wsdl (项目通过tomcat配置不需要输入项目名,同学要注意)  结果

     

     客户端调用接口:

    新建一个项目,把服务的接口类BaseWebService.java拷过来,jar也要拷过来哦,编写测试类:

    BaseWebService.java

     1 package test;
     2 
     3 import javax.jws.WebService;
     4 
     5 /**
     6  * This class was generated by Apache CXF 3.1.6
     7  * 2017-06-12T10:16:26.245+08:00
     8  * Generated source version: 3.1.6
     9  * 
    10  */
    11 @WebService(targetNamespace = "http://impl.plc.service.xd/")
    12 public interface BaseWebService {
    13 
    14     public PlcDataDetail readPlcData(Integer id);
    15 }

    MyClient.java

     1 package test;
     2 
     3 import java.util.Properties;
     4 
     5 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
     6 
     7 public class MyClient {
     8     public static void main(String args[]) { 
     9         //下面三行代码是系统初始化设置,若独立于服务接口外调用,不加也可以,如果在接口项目内调用需要加上,不然会报错
    10         Properties props = System.getProperties(); 
    11         props.setProperty("org.apache.cxf.stax.allowInsecureParser", "1"); 
    12         props.setProperty("UseSunHttpHandler", "true");
    13         //创建WebService客户端代理工厂
    14         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
    15         //注册WebService接口   
    16         factory.setServiceClass(BaseWebService.class);
    17         //设置WebService地址
    18         factory.setAddress("http://localhost:8080/ws/ReadPlcData");
    19         BaseWebService service = (BaseWebService) factory.create();
    20         System.out.println(service.readPlcData(14).getValue());//传参查询
    21     }
    22 }

      总结:网上的资源很多,有新资源,也有很久之前的了,在整合的时候出现了很多冲突,要注意自己项目中cxf的版本。比如刚开始顺着网上说的 在spring文件中配置下面三行资源,结果总是报错说找不到,其实在cxf 3.x 版本后就不需要再手动配置了,所以找问题要找最新的,老的不一定适用,用旧版本在开发过程中可能就是个大坑啊。

    <import resource="classpath:META-INF/cxf/cxf.xml" />  
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />  
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

    -----------------------------------------------此处非常有必要有个分割线---------------------------------------------

    今天项目中需要写个对外的webservice接口,按照之前即上面的流程操作,结果悲催了,各种错误,只好再重新写了一个服务

    框架 :spring mvc-4.3.7 、cxf-3.1.3、apache-maven-3.3.3

    第一步、pom(!注意jar包冲突!)

    必须:cxf-rt-frontend-jaxws、cxf-rt-transports-http、wsdl4j

    删除: asm、XmlSchema

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.bwdz.fp.saas</groupId>
        <artifactId>vat-web</artifactId>
        <packaging>war</packaging>
        <version>0.0.1-SNAPSHOT</version>
        <name>vat-web</name>
        <url>http://maven.apache.org</url>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <!-- spring版本号 -->
            <spring.version>4.3.7.RELEASE</spring.version>
            <jjwt.version>0.6.0</jjwt.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxws</artifactId>
                <version>3.1.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-transports-http</artifactId>
                <version>3.1.3</version>
            </dependency>
            <!--<dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-transports-http-jetty</artifactId>
                <version>3.1.3</version>
            </dependency>-->
            <dependency>
                <groupId>com.alipay.sdk</groupId>
                <artifactId>alipay-sdk-java</artifactId>
                <version>3.1.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>19.0</version>
            </dependency>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>${jjwt.version}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <!-- 表示开发的时候引入,发布的时候不会加载此包 -->
                <scope>test</scope>
            </dependency>
            <!-- spring核心包 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-asm</artifactId> 
                <version>${spring.version}</version> </dependency> -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-web -->
                <dependency>
                    <groupId>org.springframework.security</groupId>
                    <artifactId>spring-security-web</artifactId>
                    <version>4.2.2.RELEASE</version>
                </dependency>
            
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>aopalliance</groupId>
                <artifactId>aopalliance</artifactId>
                <version>1.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.9</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>1.6.8</version>
            </dependency>
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.7.0</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.4</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.1</version>
            </dependency>
            <dependency>
                <groupId>commons-discovery</groupId>
                <artifactId>commons-discovery</artifactId>
                <version>0.2</version>
            </dependency>
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.2.2</version>
            </dependency>
            <dependency>
                <groupId>commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>3.0-rc4</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.2</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.7</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>1.7.21</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.1.7</version>
            </dependency>
            <dependency>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>1.6.1</version>
            </dependency>
    
            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache-core</artifactId>
                <version>2.6.10</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.8</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpasyncclient</artifactId>
                <version>4.0.1</version>
            </dependency>
    
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>4.4.3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore-nio</artifactId>
                <version>4.4.3</version>
            </dependency>
            
            <dependency>  
                <groupId>org.apache.httpcomponents</groupId>  
                <artifactId>httpclient</artifactId>  
                <version>4.5</version>  
            </dependency>  
      
            <dependency>  
                <groupId>org.apache.httpcomponents</groupId>  
                <artifactId>httpmime</artifactId>  
                <version>4.5</version>  
            </dependency>
            <dependency>
                <groupId>com.maxmind.geoip2</groupId>
                <artifactId>geoip2</artifactId>
                <version>2.8.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlbeans</groupId>
                <artifactId>xmlbeans</artifactId>
                <version>2.5.0</version>
            </dependency>
            <!--<dependency>
                <groupId>org.apache.ws.commons</groupId>
                <artifactId>XmlSchema</artifactId>
                <version>1.1</version>
            </dependency>-->
            <dependency>
                <groupId>com.itextpdf.tool</groupId>
                <artifactId>xmlworker</artifactId>
                <version>1.2.1</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.3.1</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>1.2.4</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.34</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.9</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.9</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-excelant</artifactId>
                <version>3.9</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml-schemas</artifactId>
                <version>3.9</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-scratchpad</artifactId>
                <version>3.9</version>
            </dependency>
    
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity</artifactId>
                <version>1.7</version>
            </dependency>
            <!--<dependency>
                <groupId>asm</groupId>
                <artifactId>asm</artifactId>
                <version>3.1</version>
            </dependency>-->
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>2.2.2</version>
            </dependency>
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>2.3.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-all</artifactId>
                <version>1.2.3</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.0.9</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.8.5</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.8.5</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>1.9.13</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.8.5</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.9.13</version>
            </dependency>
            <dependency>
                <groupId>net.sf.ezmorph</groupId>
                <artifactId>ezmorph</artifactId>
                <version>1.0.6</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.session</groupId>
                <artifactId>spring-session</artifactId>
                <version>1.3.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.session</groupId>
                <artifactId>spring-session-data-redis</artifactId>
                <version>1.3.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>net.sf.json-lib</groupId>
                <artifactId>json-lib</artifactId>
                <version>2.4</version>
                <classifier>jdk15</classifier>
            </dependency>
            <dependency>
                <groupId>javax.xml.rpc</groupId>
                <artifactId>javax.xml.rpc-api</artifactId>
                <version>1.1.1</version>
            </dependency>
            <!-- axis 1.4 jar start -->
            <dependency>
                <groupId>org.apache.axis</groupId>
                <artifactId>axis</artifactId>
                <version>1.4</version>
            </dependency>
            <dependency>
                <groupId>commons-discovery</groupId>
                <artifactId>commons-discovery</artifactId>
                <version>0.2</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>wsdl4j</groupId>
                <artifactId>wsdl4j</artifactId>
                <version>1.6.2</version>
            </dependency>
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>2.3.19</version>
            </dependency>
            <dependency>
                <groupId>org.xhtmlrenderer</groupId>
                <artifactId>core-renderer</artifactId>
                <version>R8</version>
            </dependency>
    
        </dependencies>
        <profiles>
            <profile>
                <id>dev</id>
                <properties>
                    <profiles.active>dev</profiles.active>
                </properties>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
            </profile>
            <profile>
                <id>product</id>
                <properties>
                    <profiles.active>product</profiles.active>
                </properties>
            </profile>
        </profiles>
        <build>
            <finalName>vat-web</finalName>
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <excludes>
                        <exclude>**/*.java</exclude>
                    </excludes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <excludes>
                        <exclude>product/*</exclude>
                        <exclude>dev/*</exclude>
                    </excludes>
                </resource>
                <resource>
                    <directory>src/main/resources/${profiles.active}/</directory>
                </resource>
            </resources>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <version>3.1.0</version>
                        <configuration>
                            <filesets>
                                <fileset>
                                    <directory>src/main/webapp/WEB-INF/classes</directory>
                                </fileset>
                            </filesets>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>3.3</version>
                        <configuration>
                            <source>1.8</source><!-- 源代码使用的开发版本 -->
                            <target>1.8</target><!-- 需要生成的目标class文件的编译版本 -->
                            <encoding>UTF-8</encoding>
                            <optimize>true</optimize>
                            <debug>true</debug>
                            <showDeprecation>true</showDeprecation>
                            <showWarnings>false</showWarnings>
                        </configuration>
                    </plugin>
                    <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.4</version>
                    <configuration>
                        <webappDirectory>src/main/webapp</webappDirectory>
                    </configuration>
                </plugin>
                </plugins>
            </pluginManagement>
        </build>
    
    </project>
    View Code

    第二步:编写服务端接口和实现类:

    BaseWebService接口类:

    package com.bwdz.fp.saas.service.test;
    
    import javax.jws.WebService;
    
    
    @WebService
    public interface BaseWebService {
      
    /**
    * 此处有陷阱:返回类型如果是List<Map>会报错,
    * 如果执意这样写,可以写个转换器,具体实现自行百度哈
    **/
    public String readPlcData(Integer id); }

    BaseWebServiceImp实现类:

    package com.bwdz.fp.saas.service.test;
    
    import com.bwdz.fp.saas.service.fphs.DzdzkZpsjTbService;
    import org.springframework.beans.factory.annotation.Autowired;
    
    import javax.jws.WebService;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    
    //@Service
    @WebService(endpointInterface="com.bwdz.fp.saas.service.test.BaseWebService")
    public class BaseWebServiceImp implements BaseWebService{
        @Autowired
        private DzdzkZpsjTbService dzdzkZpsjTbService;
    
    
        @Override
        public String readPlcData(Integer id) {
            List<Map> map = new ArrayList<>();
            try{
                map =  dzdzkZpsjTbService.getAllMcpsh(id+"");
            }catch (Exception e){
    
            }
            return map.toString();
        }
    }

    第三步:配置spring的核心文件 application-context.xml

    添加命名空间以及配置接口发布信息:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:task="http://www.springframework.org/schema/task"
           xmlns:jaxws="http://cxf.apache.org/jaxws"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd
    
    
                            http://www.springframework.org/schema/context 
                            http://www.springframework.org/schema/context/spring-context.xsd
                            http://www.springframework.org/schema/task
                            http://www.springframework.org/schema/task/spring-task.xsd
                            http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

    <jaxws:endpoint id="myService"
    implementor="com.bwdz.fp.saas.service.test.BaseWebServiceImp" address="/web-publish" >//address是暴漏的方法名,随便定义
    </jaxws:endpoint>
     

    第四步:配置web.xml:

      <servlet>
            <description>CXF Endpoint</description>
            <display-name>cxf</display-name>
            <servlet-name>cxf</servlet-name>
            <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
            <load-on-startup>2</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>cxf</servlet-name>
            <url-pattern>/services/*</url-pattern>
        </servlet-mapping>

    最后一步就是见证奇迹的时候了:

    访问:http://localhost:8080/vat-gap/services/

    对外只要提供一个wsdl地址就可以了:http://localhost:8080/vat-gap/services/web-publish?wsdl

    客户端调用 参考我之前写的文章  https://www.cnblogs.com/maxmoore/p/9965218.html

  • 相关阅读:
    python35 1.守护进程 2.互斥锁3.IPC 4.生产者和消费者模型
    python34 多进程: 1.进程与程序的区别 2.阻塞 非阻塞 并行 并发(重点) 3.进程三种方式的切换 4.程序员永恒的话题 5.进程的创建以及销毁 6.进程的两种使用方式(重点) 7.join函数(重点) 8.process常用属性 9僵尸与孤儿进程(了解)
    Python33 1.UDP协议 2.与TCP区别 3.DNS服务器 4.进程----进入并发编程的学习 5.操作系统 6.多道技术
    Mybatis 属性配置
    SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession
    MyBatis 简单入门
    spring mvc 异步 DeferredResult
    Spring MVC 异步请求 Callable
    Servlet 异步处理
    @EnableWebMvc
  • 原文地址:https://www.cnblogs.com/maxmoore/p/6992963.html
Copyright © 2011-2022 走看看