<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 引入XFire预配置信息 -->
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
<!-- 定义访问的url -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/HelloWorldService"> <!-- key="/HelloWorldService.ws" -->
<ref bean="HelloWorldService" />
</entry>
</map>
</property>
</bean>
<!-- 使用XFire导出器 -->
<bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
<!-- 引用xfire.xml中定义的工厂 -->
<property name="serviceFactory" ref="xfire.serviceFactory" />
<!-- 引用xfire.xml中的xfire实例 -->
<property name="xfire" ref="xfire" />
</bean>
<bean id="HelloWorldService" parent="baseWebService">
<!-- 业务服务bean -->
<property name="serviceBean" ref="HelloWorldBean" />
<!-- 业务服务bean的窄接口类 -->
<property name="serviceClass" value="webservice.HelloWorld" />
</bean>
</beans>
<5>接口webservice:
package webservice;
public interface HelloWorld {
String sayHelloWorld(String name,String codeId);
}
<6>实现类HelloWorldImpl :
package webservice;
public class HelloWorldImpl implements HelloWorld {
public String sayHelloWorld(String name,String codeId) {
String helloWorld = "hello," + name+",codeId="+ codeId;
return helloWorld;
}
}
<7>测试类:
package test;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import webservice.HelloWorld;
public class Client {
public static void main(String[] args) {
try {
Service model = new ObjectServiceFactory().create(HelloWorld.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String url = "http://localhost:8080/webservice_helloworld/HelloWorldService.ws";
HelloWorld hs = (HelloWorld) factory.create(model, url);
System.out.println(hs.sayHelloWorld("李赞红","951753"));
//Course course = hs.choose(new User("李世民", 1));
//System.out.println(course.getName());
List list1 = new ArrayList();
list1.add("111");
list1.add("222");
list1.add("333");
//List list = hs.test(list1);
for(Object o : list1){
//Course c = (Course) o;
//System.out.println(c.getName());
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 引入XFire预配置信息 -->
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
<!-- 定义访问的url -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/HelloWorldService"> <!-- key="/HelloWorldService.ws" -->
<ref bean="HelloWorldService" />
</entry>
</map>
</property>
</bean>
<!-- 使用XFire导出器 -->
<bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
<!-- 引用xfire.xml中定义的工厂 -->
<property name="serviceFactory" ref="xfire.serviceFactory" />
<!-- 引用xfire.xml中的xfire实例 -->
<property name="xfire" ref="xfire" />
</bean>
<bean id="HelloWorldService" parent="baseWebService">
<!-- 业务服务bean -->
<property name="serviceBean" ref="HelloWorldBean" />
<!-- 业务服务bean的窄接口类 -->
<property name="serviceClass" value="webservice.HelloWorld" />
</bean>
</beans>
<5>接口webservice:
package webservice;
public interface HelloWorld {
String sayHelloWorld(String name,String codeId);
}
<6>实现类HelloWorldImpl :
package webservice;
public class HelloWorldImpl implements HelloWorld {
public String sayHelloWorld(String name,String codeId) {
String helloWorld = "hello," + name+",codeId="+ codeId;
return helloWorld;
}
}
<7>测试类:
package test;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import webservice.HelloWorld;
public class Client {
public static void main(String[] args) {
try {
Service model = new ObjectServiceFactory().create(HelloWorld.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String url = "http://localhost:8080/webservice_helloworld/HelloWorldService.ws";
HelloWorld hs = (HelloWorld) factory.create(model, url);
System.out.println(hs.sayHelloWorld("李赞红","951753"));
//Course course = hs.choose(new User("李世民", 1));
//System.out.println(course.getName());
List list1 = new ArrayList();
list1.add("111");
list1.add("222");
list1.add("333");
//List list = hs.test(list1);
for(Object o : list1){
//Course c = (Course) o;
//System.out.println(c.getName());
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}