您的位置:首页 > 其它

WebService入门实例项目详细教程(图)

2009-05-08 09:38 706 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: