xfilre

搭建环境
 


配置servlet
<servlet>
    <servlet-name>XFire</servlet-name>
    
    <servlet-class>
        org.codehaus.xfire.transport.http.XFireConfigurableServlet
    </servlet-class>    
  </servlet>

  <servlet-mapping>
    <servlet-name>XFire</servlet-name>
    <url-pattern>/servlet/XFireServlet/*</url-pattern>
  </servlet-mapping>
编写接口和实现类
 com.service.IPayService
 com.service.impl.PayService
配置service.xml文件(文件路径为类路径下的META-INF/xfire/services.xml)
<beans xmlns="http://xfire.codehaus.org/config/1.0">
  <service>
    <name>HelloWorldService</name>
    <namespace>http://www.cc.com:8080/xfiretest/services/HelloWorldService</namespace>
    <serviceClass>
        com.service.IPayService
    </serviceClass>    
     <implementationClass>
     com.service.impl.PayService
     </implementationClass>
     
  </service>
</beans>

检查服务


调用服务:
            XFire xfire = XFireFactory.newInstance().getXFire();
        ServiceFactory factory = new ObjectServiceFactory(xfire.getTransportManager(), null);

        Service service = factory.create(IPayService.class,
                                         "HelloWorldService",
                                         "http://www.cc.com:8080/xfiretest/services/HelloWorldService",
                                         null);
        IPayService client = (IPayService)new XFireProxyFactory).createservice,"http://www.cc.com:8080/xfiretest/services/HelloWorldService");
//此处没有?wsdl")
        
        client.payMoney(100.0d);//方法调用



一、服务提供者告诉你interface,你可以使用如下三种方式来开发:
YourService即是服务提供者告诉给你的一个interface(当然,也可以根据WSDL的定义,自己定义一个同样的interface)。
1,简单的方式
Service serviceModel = new ObjectServiceFactory().create(YourService.class);
YourService service = (YourService)
    new XFireProxyFactory().create(serviceModel, "http://your/remote/url");
2,JSR 181注释的方式
Service serviceModel = new AnnotationServiceFactory().create(YourService.class);
YourService client = (YourService)
    new XFireProxyFactory().create(serviceModel, "http://your/remote/url");
3,混合方式
Service serviceModel =
  new AnnotationServiceFactory(
   new Jsr181WebAnnotations(),
   XFireFactory.newInstance().getXFire().getTransportManager(),
   new AegisBindingProvider(new JaxbTypeRegistry())).create(YourService.class);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值