您的位置:首页 > 其它

【笔记】WebService CXF与SSM整合,模拟实名认证功能

2017-07-07 10:20 513 查看
之前写的一个校友网项目中的实名认证功能,需要调用学校的学籍系统接口,实现自动实名审核功能。

一、接口开发

【web.xml】

<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>


【spring-webservice.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:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

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

<!-- 自动扫描 -->
<context:component-scan base-package="com.jul_11th.*" />

<!-- 定义服务提供者  -->
<jaxws:endpoint implementor="#myWebServiceImpl" address="/MyWebService"/>

</beans>


【服务接口】

package com.jul_11th.webservice;

import javax.jws.WebService;

@WebService
public interface MyWebService {
/**
* 实名认证服务
*/
boolean  Authentication(String realName,String id);
}


【服务接口实现类】

package com.jul_11th.webservice;

import javax.annotation.Resource;
import javax.jws.WebService;

import org.springframework.stereotype.Component;

import com.jul_11th.service.IUserService;

@Component("myWebServiceImpl")
@WebService
public class MyWebServiceImpl implements MyWebService {

@Resource(name = "userService")
private IUserService userService;

public boolean Authentication(String realName, String id) {
return userService.Authentication(realName, id);
}

}


二、服务请求,跨平台接口调用

【Client】

package com.jul_11th.client;

//import org.apache.cxf.frontend.ClientProxy;

import com.jul_11th.webservice.MyWebService;
import com.jul_11th.webservice.MyWebServiceImplService;

public class Client {

public static void main(String[] args) {
MyWebServiceImplService service = new MyWebServiceImplService();
MyWebService hw = service.getMyWebServiceImplPort();
//org.apache.cxf.endpoint.Client client=ClientProxy.getClient(hw);
//client.getOutInterceptors().add(new AddHeaderInterceptor("admin","admin"));
System.out.println(hw.authentication("张小明", "410423199400000000"));
}

}


【控制台输出】

七月 07, 2017 10:18:24 上午 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL
信息: Creating Service {http://webservice.jul_11th.com/}MyWebServiceImplService from WSDL: http://localhost:8080/SSM/webservice/MyWebService?wsdl true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web service