kenlistian

勤学多思

  IT博客 :: 首页 :: 新随笔 ::  :: 聚合  :: 管理 ::
  412 随笔 :: 0 文章 :: 23 评论 :: 0 Trackbacks

例子步骤如下:

1.在cbuilder6中选择soap server application,建立。

2.选Web App Debugger executeable 类型,

   定义一个CoClass Name 为:wadSoapDemo1 ,

3. 提示是否要新建一个接口,确定即可打开新建接口向导,

   如果要以后再增加接口,则在 New|WebServices 中选择 SOAP Server Interface 同样可打开新建接口向导。

 Generate sample methods 即可在生成的接口中同时生成一系列方法,比较全面地说明了如何在接口中定义方法。

 Service Activation Model 指定服务端的激活方式:Per Request(每次请求服务时激活)/Global(全局)。

采用Per Request则客户端的每次服务请求时建立服务,响应结束后也结束服务。Global 方式下,服务端只有一个服务实例,所有的客户端服务请求都由此实例处理,具体是通过一个叫 xxxFactory 的全局静态函数来实现的;

4.添加方法,并实现方法

 a。在申明的接口中添加虚拟方法

 b。在接口实现类中添加方法的申明

 c。在接口实现类中添加方法的定义

 5.  测试,看其接口方法是否提供出来。

    a。build 后先运行一次生成的exe ,其会自动注册。

    b。启动 Web App Debugger ,其实它就是一个测试用的IIS,点击ServerInfo

         打开其http://localhost:1024/ServerInfo.ServerInfo

         即可看到一个注册的列表,找到刚注册的服务器,点击go,

     c。在Service Info Page中可以看到定义的接口方法。

***************************************************************

 客户端编写

1.New|Application 新建一个一般 VCL 应用程序;
2.New|Web Services|Web Services Importer :

  在url中输入刚才在服务端测试的接口,如
    http://localhost:1024/xxxxxxx/wsdl/ITest  (保证在浏览器可以看到xml文档)

   选择“Next”后导入生成接口单元文件,谁用这个单元则#include 该单元。

3. 在 Form 上放上一个 Label ,Edit 和一个 Button

4. 双击 Button1 写下面的程序:

void __fastcall TForm2::Button1Click(TObject *Sender)
{
Label->Caption = GetITest()->GetMyMethod( StrToInt( Edit1->Text ) );
}
7.编译运行,在 Edit 中调参即可返回所要的结果。
源码:
http://www.tomore.com/1/44162.html

 

 

 

 

 

 

posted on 2007-03-28 10:49 kenlistian 阅读(194) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。