- package org.codehaus.xfire.demo;
- public interface BookService
- {
- public String getBooks();
- }
- package org.codehaus.xfire.demo;
- public class BookServiceImpl implements BookService
- {
- public String getBooks()
- {
- return "bbbb";
- }
- }
classes下的META-INF/xfire/services.xml的内容:
- <!-- START SNIPPET: services -->
- <beans xmlns="http://xfire.codehaus.org/config/1.0">
- <service>
- <name>BookService</name>
- <namespace>http://xfire.codehaus.org/BookService</namespace>
- <serviceClass>org.codehaus.xfire.demo.BookService</serviceClass>
- <implementationClass>org.codehaus.xfire.demo.BookServiceImpl</implementationClass>
- </service>
- </beans>
web.xml
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <!-- START SNIPPET: webxml -->
- <!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
- <web-app>
- <servlet>
- <servlet-name>XFireServlet</servlet-name>
- <display-name>XFire Servlet</display-name>
- <servlet-class>
- org.codehaus.xfire.transport.http.XFireConfigurableServlet
- </servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>XFireServlet</servlet-name>
- <url-pattern>/servlet/XFireServlet/*</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>XFireServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
- </web-app>
- <!-- END SNIPPET: webxml -->
部署在tomcat上,端口为8080,应用为xfire,使用以下的客户端代码访问。
Client代码:
- import java.net.MalformedURLException;
- import java.rmi.RemoteException;
- import javax.xml.rpc.ServiceException;
- import org.apache.axis.client.Call;
- import org.apache.axis.client.Service;
- public class Client {
- /**
- * @param args
- */
- public static void main(String[] args) {
- Service service = new Service();
- // TODO Auto-generated method stub
- String endpoint = "http://localhost:8080/xfire/services/BookService";
- Call call;
- try {
- call = (Call) service.createCall();
- call.setTargetEndpointAddress(new java.net.URL(endpoint));
- call.setOperationName("getBooks");
- String xml = (String) call.invoke(new Object[0]);
- System.out.println(xml);
- } catch (ServiceException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (RemoteException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
OK!