在系统开发中,说要用web service作为多方系统的数据交换手段。
java的web service开发我是一个菜鸟,刚接触java不是很懂,希望高手指点一二!我在网上google了一下,知道java使用web service现在主要有两个开源包:axis和xfire,但是看了一会儿觉得还是不知道该怎么做。。其实我的需求很简单,只要能够调用别人写的web service就可以了。

解决方案 »

  1.   

    xfire比axis好用很多,尤其使用XStream传递数据,又方便又快
    按照这个思路去搜索下
      

  2.   

    如果jdk是1.6的就直接用jdk自带的JAX-WS规范的webservice,很简单
    如:@WebService
    public class Hello {
     public String echo(String name) {
      return "Hello," + name;
     }
    }这就是一个简单的webservice实现了,编译之后,通过jdk安装目录的bin目录中的wsgen工具,可以生成wsdl文件,然后用bin目录的wsimport工具生成客户端,一切都很简单
      

  3.   


    能具体说说吗?按照这个方法的话,我是不是还需要先用自己的机器当做服务器,装个tomcat,wsgen貌似可以直接把wsdl发布到服务器上?
      

  4.   

    XFire 已经没有了,已经与其他框架合并为 CXF 了。AXIS, AXIS 2, CXF 目前都是 Apache 的项目。CXF 很好用,标准的 JAX-WS、JAX-RS 的实现,符合 J2EE 规范。AXIS 是自己独立的体系,并不是 JAX-WS 的标准实现。当然其也有优点,网上可以找到 AXIS 与 CXF 的比较。推荐:Apache CXF
      

  5.   

    这几天刚好在用JAX-WS(JDK1.6自带的web service)做一个有关防火墙的项目,确实用这个做web service很简单,但是权限检查及加密就很复杂了,这方面的资料我查了中文比较少,英文的多(你也可以自己查查,关键字:JAX-WS handler):
    http://blogs.sun.com/sdimilla/entry/implementing_handlers_using_jaxws_2
      

  6.   

    其实你很简单的
    public class DynamicClientTest {
        public static void main(String[] args) throws MalformedURLException,
                Exception {
            Client client = new Client(new URL(
                    "http://localhost:8080/xfiretest/services/TestService?wsdl"));
            Object[] results = client
                    .invoke("sayHello", new Object[] { "Firends" });
            System.out.println(results[0]);    }
    }
    配置可参考:
    http://blog.csdn.net/rain_zhou/archive/2010/05/22/5616317.aspx