本人现在开发一个权限管理模块的webservice要实现第三方可以通过webservice的方式来调用我们开发的权限管理的webservice模块功能,目前技术上使用的是java + xfire + spring  要求是第三方调用必须要通过密码和用户验证才能访问我们的服务的,目前服务的已经可以生成wsdl文件,但不知道第三方是什么编程语言如何让第三方来调用我们的服务的,求相关经验。关键是如何开发客户端,客户端如果是java那又如何开发,求教有经验者。

解决方案 »

  1.   

    你就编写客户端代码就行了啊什么都可以比如:package com.hoo.service;import javax.xml.namespace.QName;
    import org.apache.axis2.AxisFault;
    import org.apache.axis2.addressing.EndpointReference;
    import org.apache.axis2.client.Options;
    import org.apache.axis2.rpc.client.RPCServiceClient;/**
     * <b>function:</b>HelloWorldService 客户端调用代码
     * @author hoojo
     * @createDate 2011-1-7 下午03:55:05
     * @file HelloWorldClient.java
     * @package com.hoo.service
     * @project Axis2WebService
     * @blog http://blog.csdn.net/IBM_hoojo
     * @email [email protected]
     * @version 1.0
     */
    public class HelloWorldClient { public static void main(String[] args) throws AxisFault {
    //RPCServiceClient是RPC方式调用
    RPCServiceClient client = new RPCServiceClient();
    Options options = client.getOptions();
    //设置调用WebService的URL
    String address = "http://localhost:8080/serviceUi";
    EndpointReference epf = new EndpointReference(address);
    options.setTo(epf);

    /**
     * 设置将调用的方法,http://ws.apache.org/axis2是方法
     * 默认(没有package)命名空间,如果有包名
     * sayHello就是方法名称了
     */
    QName qname = new QName("http://FirstBosentServices.firstbosent.bosent.com", "selectClassTeam");
    //指定调用的方法和传递参数数据,及设置返回值的类型
    Object[] result = client.invokeBlocking(qname, new Object[] { "jack" }, new Class[] { String.class });
    System.out.println(result[0].toString());
    }
    }
      

  2.   

    早啊,感谢回答。
    这这个是使用了AXI的一个框架吧。。
      

  3.   

    目前服务的已经可以生成wsdl文件,但不知道第三方是什么编程语言如何让第三方来调用我们的服务的,求相关经验。=========================
    你不需要知道,对方可以是任意的语言,两边通过符合SOAP的XML通信,自己负责自己这边的解析。你把功能做出来就完事了,如果需要明文的用户校验,把验证信息作为参数加到你的WebMethod里去就可以。