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

一、构建WebService

①创建Workspace,Workspace命名为:Your_WebService

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

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

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

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

二、发布WebService

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

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

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

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

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

然后我们将该网页存储为wsdl文件(注意:该文件要与你的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程序,具体步骤如下:

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

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

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

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

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

下面按默认即可,

这里选择你存放的类库:

完成之后,如下图:

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

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

函数体:

函数保存后如下图:

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

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

调用成功结果图:

PB11.5创建及调用WebService的更多相关文章

  1. php中创建和调用webservice接口示例

    php中创建和调用webservice接口示例   这篇文章主要介绍了php中创建和调用webservice接口示例,包括webservice基本知识.webservice服务端例子.webservi ...

  2. C#创建和调用WebService详细教程

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  3. ABAP 创建和调用WebService

    1.创建WebService ① SE37创建RFC函数 ② SE80创建企业服务-service provider-existing ABAP object 或SE37-实用程序-创建Web服务 ③ ...

  4. axis1客户端调用webservice的通用代码

    1.axis1 作为web service 客户端时,调用web service 服务端的通用代码 String url = "http://www.webxml.com.cn/webser ...

  5. PHP调用Webservice实例

    原文 PHP调用Webservice实例 NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService.它是一个开源软件,是完全采用PHP语言编写的.通过HTTP收发S ...

  6. Webservice服务创建、调用笔记

    引言 以前使用windows服务,于是学习并记录下来:windows服务的创建.安装.调试全过程及引发的后续学习.现如今需要用到webservice,对此感觉到很困惑.经过几天的学习.查阅资料,终于大 ...

  7. 使用vs2010创建、发布、部署、调用 WebService

    原文地址:使用vs2010创建.发布.部署.调用 WebService作者:吴超 一 使用vs2010创建 WebService 1 打开VS2010,菜单    文件->新建->项目2 ...

  8. C# 创建、部署和调用WebService的简单示例

    废话不多说,下面开始创建一个简单的webservice的例子.这里我用的是Visual Studio 2015开发工具. 首先创建一个空的Web应用程序. 然后鼠标右键点击项目,选择 添加>新建 ...

  9. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

随机推荐

  1. Spring3.0 入门进阶(三):基于XML方式的AOP使用

    AOP是一个比较通用的概念,主要关注的内容用一句话来说就是"如何使用一个对象代理另外一个对象",不同的框架会有不同的实现,Aspectj 是在编译期就绑定了代理对象与被代理对象的关 ...

  2. 连接查询中on and和on where的区别

    一.区别 1. and条件是在生成临时表时使用的条件,它不管and中的条件是否为真,都会返回左(或者右)边表中的记录. 2.where条件是在临时表生成好后,再对临时表进行过滤的条件.这时已经没有le ...

  3. rsync服务架设(数据同步|文件增量备份)

        近期由于业务需要,需要将两台服务器数据保持同步.方案有很多,rsync是其中一种解决方案,本文对rsync的安装及配置进行简单说明,其他实现方式有兴趣可以研究.以下是本文提纲,供参考: rsy ...

  4. URAL 2048 History 蔡勒公式

     HistoryTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.acti ...

  5. Tomcat安装、配置、优化及负载均衡详解

    一.常见JavaWeb服务器      1.WebLogic:是BEA公司的产品.WebSphereAS:是IBM公司的产品.JBossAS:红帽公司的产品,可以自行了解      2.Tomcat服 ...

  6. iOS开发——语法篇&swift经典语法总结

    swift经典语法总结 1:函数 1.1 func funcNmae()->(){} 这样就定义了一个函数,它的参数为空,返回值为空,如果有参数和返回值直接写在两个括号里就可以了 1.2 参数需 ...

  7. ireport启动闪退问题

    安装好ireport之后,双击ireport.exe启动程序只是掠过启动画面便毫无反应, 后来在网上找了下解决方法,才知道只因为ireport与jdk8不兼容, 于是下载了jdk6,并在ireport ...

  8. shared_ptr的简单实现

    前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针 ...

  9. 比较escape、encodeURI、encodeURIComponent

    估计很多前端工程师并不清楚escape,encodeURI, encodeURIComponent的区别,也不知道什么时候该用哪个方法,以及这些方法为什么要被用到,下面我主要来阐述一下这三个方法的区别 ...

  10. VS2010打开就自动关闭问题解决

    前段时间开发没有使用VSS,打开项目一直正常,后来嵌入到VSS后出现了VS2010打开后就自动关闭的问题. 刚开始我重新卸载.安装了VS2010,但是还是有问题,后来重新创建了空解决方案,再次引入就正 ...