首先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
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>
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]); } }结果: