首先3Q:http://blog.csdn.net/hxx688/article/details/4159716#,我是从这里入门的
1.在MyEclipse中创建Web项目, 并添加xfire包, 结构图
2. 在WEB.XML中配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3. myEclipse自带的新建Service建的,新建service
IHello接口
package com.service;
public interface IHello {
public String example(String message);
}
HelloImpl以及实现
package com.service;
public class HelloImpl implements IHello {
public String example(String message) {
return message;
}
}
services.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>Hello</name>
<serviceClass>com.service.IHello</serviceClass>
<implementationClass>com.service.HelloImpl</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>
</beans>
4 发布项目,在浏览器中输入:http://localhost:8090/XfireSer/services,效果如下图,就已经差不多成功了
5 。java程序测试,需要commons-httpclient-3.0.1.jar,上网下个,还有别的测试方式,懒写的
package com.client;
import java.net.MalformedURLException;
import java.net.URL;
import org.codehaus.xfire.client.Client;
public class ClientTest {
public static void main(String[] agrs) throws MalformedURLException, Exception{
Client client = new Client (new URL("http://localhost:8090/XfireSer/services/Hello?wsdl"));
Object[] result = client.invoke("example", new String[]{"LiMing"});
System.out.println(result[0]);
}
}
结果: