PB11.5创建及调用WebService

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

一、构建WebService

①创建Workspace,Workspace命名为:Your_WebService

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

二、发布WebService

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

PB11.5创建及调用WebService

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

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

三、调用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程序,具体步骤如下:

PB11.5创建及调用WebService PB11.5创建及调用WebService

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

下面按默认即可,

PB11.5创建及调用WebService

这里选择你存放的类库:

PB11.5创建及调用WebService

完成之后,如下图:

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

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

PB11.5创建及调用WebService

函数体:

PB11.5创建及调用WebService

函数保存后如下图:

PB11.5创建及调用WebService

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

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

PB11.5创建及调用WebService

调用成功结果图:

PB11.5创建及调用WebService

上一篇:转:GitHub 万星推荐成长技术清单


下一篇:Oozie 生成JMS消息并向 JMS Provider发送消息过程分析