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

shornmao 2002-05-01 10:46:52
BCB6到手后安装了好久,昨天晚上终于用他写了自己的第一个WEB Service,真是方便啊。不知道.NET怎么样,反正既然CB可以做的,我就不打算去用M$的作了。

手上没有现成的CB6写web service的中文资料,英文版的Developer Guide实在是太长了,看电子版又不舒服,只好参考李维写的Delphi/Kylix写web service的书。

虽然CB和DELPHI都使用的VCL,在COM的实现方法上还是有细微区别的,本来我就没有好好研究过COM组件的编写,偏偏Borland使用了COM技术实现web service,这下更头疼了。

首先File|New|WebServices|Soap Server Application,新建一个web service的服务器应用程序,第一次为了便于调试,我选择了WAD(Web App Debugger executable)类型的应用程序,CB6自动生成了一个web模块和一个应用程序的主窗口单元。同时自动启动Invokable向导,生成一个用于实现web service服务的COM接口的单元。如果你选择了取消,稍后可以通过File|New|WebServices|Invokable Wizard缉获。

现在第一个web service的环境全部就绪,接下来就要让web service实现服务内容。
打开Invokable向导生成的COM接口单元文件,在头文件里定义了接口类,我们在其中添加一个成员函数,我选择了简单的AnsiString GetMessage(),注意要把这个成员函数声明为纯虚函数(virtual function),我可是反复实验才得出这个结构,这就是没有玩转COM的恶果。然后在C++源文件中的通过多重继承的接口的实现类重写(override)了刚刚添加的成员函数GetMessage,成员函数的作用仅仅是返回一个字符串常量,即
return "Hello, web service world!";

最后一步就是编译和执行这个应用程序,向系统注册COM。

现在这个web service的服务器端就完成了,虽然不能直接调用服务,但是可以通过浏览器察看web service的内容,并且通过WAD查看SOAP数据包内容,这就是第一个例子采用WAD的原因。
通过Tools|Web App Debugger启动WAD,点击start按钮,激活边上的URL(http://localhost:1024/serverinfo.server.info/),这是WAD内置的web service,用来管理注册的WAD应用程序,可以理解为一个UDDI服务。
点击这个超链接,自动打开浏览器,可以浏览刚才新建的web service的全部内容。

(待续)
...全文
47 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
richard_hu 2002-05-02
  • 打赏
  • 举报
回复
学习
蚊子王 2002-05-02
  • 打赏
  • 举报
回复
我也想看啊
xiaohan13916830 2002-05-02
  • 打赏
  • 举报
回复
何不贴出来,让大家学习学习?
我不懂电脑 2002-05-02
  • 打赏
  • 举报
回复
我来看看CB 2002-05-02
  • 打赏
  • 举报
回复
good!
TR@SOE 2002-05-02
  • 打赏
  • 举报
回复
呵呵,李维的BCB6下的SOAP/WEB SERVICE的新书也马上要由华中科技大学出版了。非常好,非常有帮助。
redsuns2001 2002-05-01
  • 打赏
  • 举报
回复
很好,能够将自己的劳动成果共享出来,让我们这些初学者多多学习,
在此向那些热心之士致以崇高的敬意。
shornmao 2002-05-01
  • 打赏
  • 举报
回复
那你不早点帖,打字打得我手指都酸了。
猛禽 2002-05-01
  • 打赏
  • 举报
回复
呵,我昨天也写了两篇关于BCB6写SOAP的:^_^
http://go1.163.com/comanche/mentals/tech/tech.htm

13,822

社区成员

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

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