终于自己亲手写了一个简单的Web Service(续一)

shornmao 2002-05-01 11:33:43
有了web service的服务器端以后,可以编写客户端程序来测试了。

最简单的方法是编写win32的应用程序,选择File|New Application新建一个应用程序,在窗体上放一个TEdit文本框、一个TButton按钮和一个THTTPRIO组件。

下一步是如何让客户端程序获得web service的soap数据包,通过设置THTTPRIO组件的属性可以简单的完成这一步骤,存在两种获得soap数据包的方法,通用的方法是使用THTTPRIO的WSDLLocation属性,设置为浏览器中使用过的WSDL的URL(这里应该是http://localhost:1024/<COM程序名>.<COM接口名>/wsdl),依次从Service属性和Port属性的下拉列表中选择需要的内容。另一种用来针对Borland技术实现的web service,直接将URL属性设置soap的URL,对于WAD类型的应用来说,应该是http://localhost:1024/<COM程序名>.<COM接口名>/soap。

最后要做的工作是根据SOAP数据包在本地复制调用栈,这里也有两种方法,通用的方法是通过File|New|Web Services|Web Services Importer激活web service导入向导,自动根据WSDL文件生成COM接口的C++实现单元。因为这里服务端和客户端的开发这是同一个人,所以可以容易的活的服务端的源代码,服务端Invokable向导生成的单元文件可以用来替代倒入向导的结果。

在按钮的事件处理程序中调用THTTPRIO的QueryInterface方法,返回COM接口的对象,再通过该接口的GetMessage方法就可以得到web service送来的字符串,直接输出到文本框即可。

最后编译并执行,点击按钮可以在文本框中得到服务端返回的字符串。

(待续)
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
richard_hu 2002-05-02
  • 打赏
  • 举报
回复
真的很想学习
蚊子王 2002-05-02
  • 打赏
  • 举报
回复
来看看的,我也想看看你的作品啊,放到网络上来
talisman 2002-05-02
  • 打赏
  • 举报
回复
放到网上让我们看看
我来看看CB 2002-05-02
  • 打赏
  • 举报
回复
good
我不懂电脑 2002-05-02
  • 打赏
  • 举报
回复

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧