日期:2014-05-19  浏览次数:20603 次

xfire 整合spring开发的疑惑?
 
 本人现在开发一个权限管理模块的webservice

要实现第三方可以通过webservice的方式来调用我们

开发的权限管理的webservice模块功能,目前技术上使用的是

java + xfire + spring 要求是第三方调用必须要通过密码和用户验证才能访问

我们的服务的,目前服务的已经可以生成wsdl文件,但不知道第三方是什么编程语言

如何让第三方来调用我们的服务的,求相关经验。

关键是如何开发客户端,客户端如果是java那又如何开发,求教有经验者。。。。

------解决方案--------------------
你就编写客户端代码就行了啊什么都可以比如:
Java code
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 hoojo_@126.com
 * @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());
    }
}

------解决方案--------------------
目前服务的已经可以生成wsdl文件,但不知道第三方是什么编程语言

如何让第三方来调用我们的服务的,求相关经验。

=========================
你不需要知道,对方可以是任意的语言,两边通过符合SOAP的XML通信,自己负责自己这边的解析。

你把功能做出来就完事了,如果需要明文的用户校验,把验证信息作为参数加到你的WebMethod里去就可以。