PB11.5创建及调用WebService

我今天做了这个“PB创建及调用WebService”的小作业,下面我来分享一下我的整个实践过程以及我遇到的问题,希望对大家有所帮助,这个小作业是分以下三部来完成的:

一、构建WebService

①创建Workspace,Workspace命名为:Your_WebService

8I{)XKB[7$9WGC@`X@1QSEG

②建立.NET Web Service Target,这一步只需要一路Next即可

image

最后生产的项目文件中至少包含三项,一个webservice2应用,一个p_webservice2部署,一个n_webservice2用户对象,如图所示:

image

③然后在这个n_webservice2对象中写自己的公开函数(只需双击n_webservice2便会出现如下界面):

@35{HWYD8REC]9ZY90[X2$Y

将你写好的函数保存,你会发现它出现在n_webservice2这个对象的Functions列表中:

image

二、发布WebService

①部署web service,打开p_webservice2,可以看到有几个属性页,其中有一个“objcet”页,可以看到你要发布的函数列表。在你要发布的函数名前打勾;然后点击菜单design->deploy project,即可部署webservice,但前提你必须有iis和.net。

image

如出现IIS或.NET相关错误,fail to Deploy of p_webservice2时,请参考相关资料:http://jingyan.baidu.com/article/b2c186c8ccc670c46ef6ff91.html

如果部署成功,你的WebService就基本没什么问题啦,可在浏览器输入下图所示链接检查你的WebService部署是否成功?

image

部署成功就是这样嗒:add函数就是你之前在n_webservice2对象中写的公开函数

image

将webservice配置导出来(以http://localhost/webservice2/n_webservice2.asmx?WSDL为例)
    在网址中输入“http://localhost/webservice2/n_webservice2.asmx?WSDL”这个就是我们要导出的文件,如下图

SV)0SU`(O(O5UN_JS96M18K

  然后我们将该网页存储为wsdl文件(注意:该文件要与你的WebService存在同一目录下),这样配置文件就建立好了。

image

三、调用WebService

     不管是用VS开发的基于.NET的WebService,还是用Java开发的WebService,还是用PB本身开发的.NET Web Service,PB调用WebService的原理是一样的,都是通过WSDL访问WebServices。

①构建环境

1)将“n_webservice2.wsdl”放到程序目录(如果上一步该文件存放位置正确,可忽略这一步),

2)将pb安装目录下的“pbsoapclient115.pbd”文件拷贝到程序目录(pb9.0对应的是pbsoapclient90.pbd,pb11.5对应的是pbwsclient115.pbd)

②PB程序调用

1)将pbsoapclient115.pbd引用到pb程序,具体步骤如下:

image image

 image

2)还需要添加一个.pbd格式的文件,这个文件名是:webservice2.pbd,这个库在你后续编码调用函数时会给出提示,如果没有添加该项,后续窗口运行会出错,这一步很关键

image image

 

添加webservice引用(按照步骤走就行了,下面我只对需要注意的地方进行标注)

image

到第二步,出现下面的界面,选中wsdl文件,如下图

_00{R(FM}}IO(}PU}M~I%%Q

下面的界面,选择自己已发布的服务即可:

Q2_C4}[ZB10%1`(BMIB(8GX

下面的界面,不用填即可(如果填了比如soap,那么生成的名字就是soapservice2soap,后面的名字是固定的,不填只显示红色的内容)

R6F$H[9$36({S{88@P9(HCK

下面按默认即可,                                                                                                                                       

~N_KU4Y4A``6(LN(YC8BKND

这里选择你存放的类库:

5LS5EI4F[ZG7M@%`PPO(RMQ

完成之后,如下图:

image

3)选中p_webservice2_wsproxy,选择菜单栏中Designe—>Deploy Project,生成n_webservice2soap文件,

image

4)构建方法调用n_webservice2soap,添加“Custom Class” 

image

函数体:

$$OXX{B}8)Y4MBZXT5%R72C

函数保存后如下图:

image

5)最后一步,在同一空间下新建立应用窗体,并添加webservice2.pbl类库(添加类库很重要,我就是卡在这一步,不知道怎么调用WebService,调用类库是个很简洁的方法)

在新建Application,Window后,在窗口布局界面拉一个Button,拉一个文本框,在Button的Click事件中写如下代码,WebService就调用成功了:

8XCZONFLU[XIH973U8B7V0L

调用成功结果图:

image

posted @ 2015-07-24 00:15  爱啦啦  阅读(18639)  评论(8编辑  收藏  举报