zoukankan      html  css  js  c++  java
  • 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();
            }

        }
    }

  • 相关阅读:
    Win10系列:C#应用控件进阶9
    Win10系列:C#应用控件进阶6
    Win10系列:C#应用控件进阶7
    Win10系列:C#应用控件进阶5
    Win10系列:C#应用控件进阶4
    max_element()函数和min_element()函数
    typename的一些用法和注意问题
    std中list作为常量传参时一个迭代器错误
    C++ STL 中list是双向循环链表中循环可以实现什么功能?
    C++中list的erase()函数问题
  • 原文地址:https://www.cnblogs.com/lbangel/p/3096336.html
Copyright © 2011-2022 走看看