ws之XFireProxyFactory简单配置

本文介绍使用XFire框架搭建WebService服务的过程,包括工程配置、接口定义及实现、services.xml文件编写,并通过一个简单的示例展示了如何创建客户端调用WebService。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ws之XFireProxyFactory简单配置

创建一个web service工程
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> 运行http://.../services/*就会执行相应的service
  </servlet-mapping>
</web-app>

定义一个接口
package com.demo;
public interface IHelloWorldService {
 public String sayHello(String name);
}

接口实现类
package com.demo;
public class HelloWorldServiceImpl implements IHelloWorldService {
  public String sayHello(String name) {
  return "hello,"+name;
 }
}

编写services.xml文件
<beans xmlns="http://xfire.codehaus.org/config/1.0">
 <service>
  <name>HelloWordService</name>
  <serviceClass>com.demo.IHelloWorldService</serviceClass>
  <implementationClass>
   com.demo.HelloWorldServiceImpl
  </implementationClass>
  <style>wrapped</style>
  <use>literal</use>
  <scope>application</scope>
 </service>
</beans>

发布该web应用

编写web service客户端

package com.demo;
import java.net.MalformedURLException;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
public class HelloWorldClient {
 public static void main(String args[]) {
        Service srvcModel = new ObjectServiceFactory()
                .create(IHelloWorldService.class);
        XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
                .newInstance().getXFire());
         
        String helloWorldURL = "http://localhost:8080/HelloWorld/services/HelloWordService";
        try {
            IHelloWorldService srvc = (IHelloWorldService) factory.create(
                    srvcModel, helloWorldURL);
            System.out.print(srvc.sayHello("dennis"));
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }

    }
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值