http://blog.csdn.net/hxx688/article/details/4159716
1.在ECLIPSE中创建工程项目, 并导入XFIRE包, 结构图
2. 在WEB.XML中进行配置
- <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>
3. 创建HelloService接口及HelloService.aegis.xml配置文件
HelloService:
- package cn.test;
- import java.util.List;
- public interface HelloService {
- public String sayHello(List names);
- }
HelloService.aegis.xml:
- <?xml version="1.0" encoding="UTF-8"?>
- <mappings>
- <mapping>
- <method name="sayHello">
- <parameter index="0" componentType="java.lang.String" />
- <return-type componentType="java.lang.String" />
- </method>
- </mapping>
- </mappings>
4. 创建接口实现类HelloServiceImpl
- package cn.test;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- /**
- *
- *用户传入LIST类型参数, 然后获取里面所有数据
- **/
- public class HelloServiceImpl implements HelloService {
- public String sayHello(List names) {
- String result = "";
- for(Iterator it = names.iterator(); it.hasNext();){
- String value = (String)it.next();
- result += "Hello: " + value + "/n";
- }
- return result;
- }
- }
5.配置services.xml文件
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://xfire.codehaus.org/config/1.0">
- <service>
- <name>HelloService</name>
- <namespace>http://cn.test/HelloService</namespace>
- <serviceClass>cn.test.HelloService</serviceClass>
- <implementationClass>cn.test.HelloServiceImpl</implementationClass>
- </service>
- </beans>
6. 创建客户端测试类ClientTest
有两种调用方法
第一种适用于JAVA编写的webservice:
- Service srvcModel = new ObjectServiceFactory().create(HelloService.class);
- XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
- String url = "http://127.0.0.1:8088/WebService/services/HelloService";
- List values = new ArrayList();
- values.add("liming");
- values.add("HanMeiMei");
- HelloService hello = null;
- try {
- hello = (HelloService)factory.create(srvcModel, url);
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- String val = hello.sayHello(values);
- System.out.println(val);
第二种适合于所有程序开发的WEBSERVICE
通过WSDL描述文件进行交互:
Client client = new Client (new URL("http://127.0.0.1:8088/WebService/services/HelloService?wsdl"));
Object[] result = client.invoke("sayHello", new String[]{"LiMing", "HanMeiMei"});
7. 部署WS程序
8. 运行客户端程序输出结果:
这是自己编写的一个完整简单的入门教程, 不足之处请指正, 希望对各位新手有所帮助.
贵在坚持, 不要因为一时的挫败而放弃.
如果你热爱各种主流开发技术, 欢迎加入本人群号:19310171