XFire開発WebService


1.開発ツール
MyEclipse 8
2.開発手順
1)WEB PROJECT新規作成
2)MyEclipse XFire 1.2パック追加
3)XFireの構成
web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	version="2.5"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.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>

	<servlet-mapping>
		<servlet-name>XFireServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>

</web-app>


4)サービスクラスの作成
MathService.java

/**
 *
 */
package cn.bisoft.java.webservice;

/**
 * @author cs
 */
public class MathService
{
    public int add(int a, int b)
    {
        return a + b;
    }

}


5)サービスを構成する.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
	<service>
		<name>MathService</name>
		<namespace>http://w26.iteye.com/MathService</namespace>
		<serviceClass>cn.bisoft.java.webservice.MathService</serviceClass>
	</service>
</beans>


6 TOMCAT 6への配備
7テスト

/**
 *
 */
package cn.bisoft.java.webservice.client;

import java.net.URL;

import org.codehaus.xfire.client.Client;
import org.codehaus.xfire.test.AbstractXFireTest;
import org.jdom.Document;

/**
 * @author cs
 */
public class MathServiceTest extends AbstractXFireTest
{

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception
    {

         String url = "http://localhost:8080/xfire/services/MathService?wsdl" ;
         Object[] params =new Object[]{1, 2} ;
         Client client = new Client(new URL(url));
         Object[] result = client.invoke("add", params);
         System.out.println(result[0]);


    }

    public void testBeanService() throws Exception
    {
        Document response = invokeService("Test", "SOAPMessage.xml");

        addNamespace("test", "urn:Test");
        assertInvalid("//s:Fault", response);
        assertValid("//test:Response", response);
        assertValid("//test:Response[text()='howdy']", response);
    }

}


8.完了
9.詳しい使い方の参考
http://xfire.codehaus.org/User's+Guide