WebService 客户端开发指南
一、前提条件
WebService已经成功部署到应用服务器上(本文以Apusic为例进行说明),客户端可以通过浏览器访问到已部署的WebService,例如通过以下地址访问到已部署的WebService:localhost:6888/ormrpc/services    localhost 替换为服务器地址
二、获取WSDL文件
如上图所示,应用服务器已经部署了相关的WebService。要构建相关的客户端,就要获取已经部署的WebService的相应的WSDL文件,用鼠标右键点击蓝的部分“(wsdl)”,选取“目标另存为”菜单,这时将出现选择保存文件位置的对话框,在文件名处将文件的后缀名由xml改为wsdl,将wsdl文件保存至本地。
三、生成客户端
1、生成Java客户端
下面将以使用Eclipse3.1来生成java客户端为例进行说明。Eclipse3.1可以到免费下载。运行后,要为Eclipse配置至少一个相应的应用服务器,例如Tomcat5.5。
1)、建立一个新工程
例如建立一个工程名为GenerateWSClient的Java工程:
2)、将获取到的WSDL文件拷贝到工程的根目录下
3)、生成客户端
用鼠标右键点击要生成客户端的WSDL文件,选取菜单“Web Services”-“Generate Client”
将会弹出生成客户端向导:
如图,使用默认值,点击“Next >”,进入下一步:
依然使用默认值,点击“Next >”,进入下一步:
依然使用默认值,点击“Finish”,即可生成相应的客户端工程(是一个Web工程)。
4)、使用java客户端
新生成的工程中有一个JavaSource目录,我们要使用的java代码就位于这个目录,例如上图中的WSLoginProxy.java。以下是一个使用Java客户端的例子:
i.RemoteException;
import _111._19._168._192.easwebservice.services.easlogin.WSLoginProxy;
import client.WSContext;
public class LoginTest {
    /**
    * @param args
    */
    public static void main(String[] args) {
        try {
            WSLoginProxy proxy = new WSLoginProxy();
            WSContext ctx = proxy.login("用户名", "密码", "eas", "eas50", "l2", 0);
//eas 指解决方案名称 金蝶EAS默认为eas ; eas50指的是服务器上的数据源jdbc
//l2,语言:l2为中文简体;0,指sqlserver数据库,1,oracle,2,db2
            System.out.SessionId());
        }
catch (RemoteException e) {
            e.printStackTrace();
        }
    }
}
所调用的方法中的参数可以从WebService提供者处获得。
2、生成C# 客户端
在此,以Microsoft Visual Studio .Net 2003为例说明如何生成C# 客户端。用户在正确安装完Microsoft Visual Studio .Net 2003后,需要设置一个环境变量Path= C:\Program Files\Mi
crosoft Visual Studio .NET 2003\SDK\v1.1\Bin,其中C:\Program Files\Microsoft Visual Studio .NET 2003是Microsoft Visual Studio .NET 2003的安装路径。
1)、使用命令行
运行“cmd”,打开命令行窗口,并进入WSDL文件所在目录(在此为C:\wsdl目录):
2)、运行命令生成客户端
运行命令wsdl XXX.wsdl(XXX为wsdl文件的文件名),即可生成C# 的WebService客户端
代码:
输入途中命令,按回车键,即可自动生成C# 客户端代码:
如上图所示,生成了一个文件WSLoginService.cs,这就是我们所需要的客户断代码
3)、使用客户端代码
运行Microsoft Visual Studio .NET 2003,建立一个工程,将刚刚生成的WSLoginService.cs文件拷贝到工程的根目录,手工为该代码配置合适的命名空间:
这时就可以调用该客户端代码了。例如以下代码:
using System;
namespace ConsoleApplication1
{
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class Class1
    {
如何生成webservice客户端
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            WSLoginService proxy = new WSLoginService();
            WSContext ctx = proxy.login("用户名", "密码", "eas", "eas50", "l2", 0);
//eas 指解决方案名称 金蝶EAS默认为eas ; eas50指的是服务器上的数据源jdbc
//L2,语言:L2为中文简体;0,指sqlserver数据库,1,oracle,2,db2
            Console.WriteLine(ctx.sessionId);
            Console.ReadLine();
        }
    }
}
所调用的方法中的参数可以从WebService提供者处获得。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。