这里说的搭建Spring WebService都是在SpringSource Tools Suite工具下进行的:
步骤如下:
一:
先定义一个类,即java bean 对象。并在类上面加上注释:
@XmlAccessorType(XmlAccessType.NONE)
@XmlType(name = " ", namespace = " ")
二:提供相应的接口;并加上注释:
1,有返回值的:
@WebService(serviceName = " ", targetNamespace = " ")
在有返回值的方法上面加上:
2,没有返回值的就直接加上:
@WebService
三:实现相应的接口;
加上注释:
@webService
以上是相关的java代码的实现。下面还要加上配置文件:
四:application.xml;
内容如下:
encoding="UTF-8"?>
/>
resource="classpath:META-INF/cxf/cxf-extension-soap.xml"
/>
resource="classpath:META-INF/cxf/cxf-servlet.xml"
/>
class="com.service.IODemo"/>
address="/IODemo" />
五:
web.xml文件:注册以下几个servlet才能找到相应的spring功能
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
CXF
Servlet
CXFServlet
org.apache.cxf.transport.servlet.CXFServlet
1
CXFServlet
/*
至此,一个简单的服务器端完成了。
下面是客户端:
六:在src下面创建一个配置文件,用于加载容器,连接服务器。
内容如下:
作用:将客户端载入到容器中
class="com.client.IODemoClient" factory-bean="clientFactory"
factory-method="create"
/>
通过address找到容器中的相应服务方法
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
name="serviceClass" value="com.service.IODemoInter"
/>
name="address" value="http://localhost:8080/ioDemo/IODemoInter"
/>
七:根据配置文件中的类名创建客户端。(注意:配置文件中的路径和文件名,一定要和创建的客户端类一至,不然容器找不到相应路径);
例如:
package com.client;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.springframework.context.ApplicationContext;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
import
org.springframework.context.support.FileSystemXmlApplicationContext;
import com.service.IODemoInter;
public class IODemoClient {
public void readFile(String
path){
//加载读取配置文件
ApplicationContext con = new
ClassPathXmlApplicationContext("/ioclient.xml");
//找到相应的服务,此处的client和配置文件中的id保持一致.
IODemoInter demo =
(IODemoInter) con.getBean("client");
try {
demo.inputInfo(path);
} catch (FileNotFoundException
e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}