http://www.voidcn.com/article/p-pdnfogkj-bk.html
1.在ECLIPSE中创建工程项目,并导入XFIRE包,结构图
?
?
?
?
2. 在WEB.XML中进行配置
?
?
- <servlet>??
- ??servlet-name>XFireServlet</>??
- ??servlet-class ??org.codehaus.xfire.transport.http.XFireConfigurableServlet??
- load-on-startup>0 servlet-mappingurl-pattern>/services/*>??
?
?
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 ????>??
?
4. 创建接口实现类HelloServiceImpl
?
??
- import?java.util.ArrayList;??
- import?java.util.Iterator;??
- import?java.util.List;??
- ?
- ?
- *?
- *用户传入LIST类型参数,??然后获取里面所有数据?
- **/??
- 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文件
?
?
beans?xmlns="http://xfire.codehaus.org/config/1.0"service ??????name>HelloService ??????namespace>http://cn.test/HelloServiceserviceClass>cn.test.HelloServiceimplementationClass>cn.test.HelloServiceImplbeans>??
?
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)?{??
- ?????
- ???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
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|