zoukankan      html  css  js  c++  java
  • webservice之使用xfire开发(转自勇哥的BLOG)

    Myeclipse5.X 支持xfire支持的非常棒。这里讲解一个简单的例子,此文章为引用文章,仅做保留,供学习参考使用。

    一、服务端程序开发

    1 、首先建立一个web service工程

    点击finish之后,myeclipse自动帮你生成services.xml以及web应用目录结构,其中的services.xml是你导出服务的配置文件,注意在WEB-INF/web.xml文件中配置了xfire自己的:

    Servlet 代码

    <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> 

     

    2 、接下来,现在编写要导出的pojo ,首先是接口:

    过程:File>New>Other>MyEclipse>Web Service

    选择:Create web service from Java bean,把Create new javabean也勾上

    3 、在导航页面中,输入

    web service name:HelloWorldTest

    java package : services

    services Interface : HelloWorldTestRemote

    services impl.class : HelloWorldTestBean

    其他的默认,点finish

    最后可以看到Web Services   下面的services.xml的内容如下

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://xfire.codehaus.org/config/1.0">

        <service>

            <name>HelloWorldTest</name>

            <serviceClass>services.HelloWorldTestRemote</serviceClass>      <implementationClass>services.HelloWorldTestBean</implementationClass>

            <style>wrapped</style>

            <use>literal</use>

            <scope>application</scope>

        </service>

    </beans>

    4 services包中的文件

    HelloWorldTestRemote.java

    -----------------------------------------------

    package services;

    public interface HelloWorldTestRemote

    {  

        public String example(String message); 

    }

    ----------------------------------------------------------

    HelloWorldTestImpl.java

    ----------------------------------------------------

    package services;

    public class HelloWorldTestBean implements HelloWorldTestRemote

    {

        public String example(String message)

        {

            return "Hello:"+message;

        }  

    }

    ------------------------------------------------------------

    到此为止webServices编码工作完成,现在开始部署到tomcat这里省略。

    部署好后可以测试下:

    1)查看可用的服务

    http://localhost:8080/HelloWorld/services

    2)查看wsdl

    http://localhost:8080/HelloWorld/services/HelloWorldTest?wsdl

     

    /////////////////////////////////////////////////////////////////////////////

    /////////////////////////////////////////////////////////////////////////////

    二、客户端应用程序开发

    1 、新建工程useWebService,并且建立clientservices

    2 bulid path中导入,XFire 1.1 core librariesXFire 1.1 HTTP client libraries.

    SayHello.java

    ----------------------------------------

    package client;

    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;

    import services.HelloWorldTestRemote;

    public class SayHello

    {

        public String say(String name)

        {

            String result = "";

    Service srvcModel = new ObjectServiceFactory().create(HelloWorldTestRemote.class);

            XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());

            String helloWorldURL = "http://localhost:8080/HelloWorld/services/HelloWorldTest";

            try

            {

                HelloWorldTestRemote srvc = (HelloWorldTestRemote) factory.create(srvcModel, helloWorldURL);

                result = srvc.example(name);

                System.out.println(result);

            }

            catch (MalformedURLException e)

            {

                e.printStackTrace();

            } finally

            {

                return result;

            }

        }

    }

    --------------------------------------------------------------

    HelloWorldTestRemote.java

    ---------------------------------------------------------------

    package services;

     

    public interface  HelloWorldTestRemote

    {

        public String example(String message);

    }-----------------------------------------------------------------

    创建index.jspbody部分

    -----------------------

    <form name="form1" action="say.jsp" method="POST">

    您的大名:<input name="userName" type="text"/> <input value="提交" type="submit"/>

    </form>

    -------------------------------

    创建say.jsp,body部分

    ----------------------------------------------------------------

    <%

    String name=(String)request.getParameter("userName");

    String result=new SayHello().say(name);

    out.print(result);

    %>

    webService 远程调用结果: <%=result %>

    ------------------------------------------------------------------------

    运行下测试!OK

  • 相关阅读:
    Android 实现书籍翻页效果番外篇之光影效果
    ViewPager + Fragment 替换 TabActivity
    蓝绿简约可重复使用的简约Tab选项卡
    黑色漂亮的DIV+CSS导航菜单代码
    JavaScript+Css打造三种简洁的Tab网页选项卡
    来自中国站长站的导航菜单代码【强烈推荐】
    蓝紫色背景的漂亮CSS菜单代码
    仿Vista风格按钮菜单代码(纯CSS打造)
    仿Vista金属感导航菜单代码
    精致纯CSS打造绿色漂亮导航栏
  • 原文地址:https://www.cnblogs.com/zhuyx/p/10401993.html
Copyright © 2011-2022 走看看