webservice服务器端会提供wsdl接口文档,pb里面用web  service  proxy  wizardwsdl生成对象,再调用即可(注意把c:\program  files\sybase\shared\powerbuilder下面的pbsoapclient90.pbd加入target),代码样例:
SoapConnection  lsc_conn
soapservice  lproxy_obj
String  ls_proxy_name  =  "soapservice "//生成的代理对象名称
String  ls_url  =  "localhost:8080/axis/services/SoapService "//web  service  url
//
lsc_conn  =  Create  SoapConnection
lsc_conn.SetOptions( "SoapLog=~ "~ " ")

int  li_ret,  i
li_ret  =  lsc_conn.Createinstance(  lproxy_obj,  ls_proxy_name,  ls_url)
If  li_ret  <>  0  Then
MessageBox( "错误 ",  "调用失败,错误号码: "  +  String(li_ret))
Return 
End  If

tns1__requestcontent  lst_request
lst_request.arg1  =  5
lst_request.arg2  =  "test "

tns1__returnresult  lst_result
lst_result  =  lproxy_obj.GetResult(lst_request)

MessageBox(String(sult),  "code: "  +  de  +  "~nmessage: "  +  &
ssage  +  "~ndesc: "  +  ason.desc  )
注意pb调用webservice只能返回简单的int  string类型,复杂的结构会出错

怎么样在pb9里面调用WebService
pb9也出来了,速度够快的,大概看了一下,与pb8比较,增加的功能不多,主要是WebService,XmlEjb.我就感受了一下pb9WebService功能,与大家共享。
我们用一个实例来说明:
新建应用,这些步骤与pb8一致的。然后建立一个WebService Proxy Wizard,下一步会提示你输入WSDL文件,点击浏览选择,假设是C:\inetpub\wwwroot\service1.wsdl文件。点击下一步,会自动出现WSDL文件中的Service.点击下一步,系统默认选择ServiceSoap,紧接着输入proxy name(代理对象名),输入test_ws.后面的几项按默认即可。
完成后是编译代理对象的界面。会出现:
Web Service Generator Project Status
Deployment PBL: E:\program\pb\webservice\w_app.pbl
Clear PBL on build: No
Confirm overwrites: No
WSDL Location: file://E:\program\pb\webservice\service1.wsdl
Services selected :
Service Service1:
Service1Soap
可以在属性中设置,也可以不用去管。点击编译的绿图标,好了,一个代理对象生成了。
在左边的treeview中可以看到如:test_wsservice1soap的东西。
点击加号的图标,在function中可以看到里面的我们定义的调用webservice服务show(string yourname) returns string.
好了最重要的一步已经完成了,我们来测试一下:
建一个windows,添加一个文本框和按钮控件。
cb_1.click事件写入:
SoapConnection conn
Test_wsservice1soap test_ws
long rVal
//string str_endpoint
//str_endpoint = "localhost/webserver/service1.asmx?WSDL"
conn = create SoapConnection
rVal = Conn.CreateInstance(test_ws, "test_wsservice1soap")
= test_ws.show("你的参与是我们最大的支持")
destroy conn
好了,保存,会提示SoapConnection未定义。
增加PBSoapClient90.pbd到库列表中。PBSoapClient90.pbdpb安装目录下 Shared\PowerBuilder。增加后左边treeview会出现soapconnectionSOAP server
soapexception 两个对象.
运行,点击按钮,文本框中出现www.ourfly欢迎你的参与是我们最大的支持
注意的是:Service1.asmx文件在服务器上是可以运行的,否则不会出现东西的。

添加PBSoapClient90.pbd和引用webservice
作者:feique123  2009-10-10 15:06 星期六
1、  PBSoapClient90.pbdpb安装目录下 Shared\PowerBuilder。在pbtree中的target属性中添加。增加后左边treeview会出现soapconnectionSOAP server soapexception 两个对象.
2、在一个按钮的click事件中写的如下例子。
SoapConnection conn
Test_wsservicesoap test_ws
long rVal
conn = create SoapConnection
rVal = Conn.CreateInstance(test_ws, "test_wsservicesoap")
=string(test_ws.jihe("select * from t_user", "t_user"))
destroy conn
注:test_ws为代理对象名
3、要想在pb中用webservice必须要建一个webservice,其引用的wsdl文件,应该是pb所在机器上访问到的wsdl文件,也就是所能访问的webservice服务。
PBDOM操作XML文档轻松入门(Easy XML with PowerBuilder Document Object Model)
(作者:Terry VothJohnStrano
(根据www.sybase/sb_content/1027266/XML_PB_DOM.pdf 翻译整理)
  本文对PBDOM技术进行相关介绍,但并不涉及XML的基础知识,建议阅读者对下述相关术语有一定了解:Document(文档), DTD(文档类型定义), schema(大纲),Element(元素), attribute(属性), processing instruction(处理命令), entity(实体)。
本文主要包括以下内容:
1、为什么要使用PBDOM以及怎样创建PBDOM
2PBDOM主要用于那些地方
3、如何使用PBDOM编程
4PBDOM和其他XML解析(parser)技术的比较
一、什么是DOM
◆文档对象模型(Document Object Model
1、作为一项W3C规范,XML DOM存在目的是为不同类型的应用程序提供一个标准的编程接口,它被设计可以跨平台、跨语言使用。
2、我们可以利用XML DOM创建XML文档并操纵其结构,增加、修改、删除元素。
3、程序中调用XML解析器载入XML文档到内存中。当文档被载入后,可以通过进入DOM检索和操作相关信息。
4DOM 保存了XML文档树,文档(document)元素位于整棵树的最顶层。该元素可以有一到多个子节点来保存树的结构。
可以参阅以下网站:www.w3schools/dom/ 来了解更多的关于XML Document Object Model的内容。
二、什么时候应该使用DOM工具
◆当你需要做下列事情的时候,你应该想到XML DOM
1、在一个或者多个XML文档之间移动元素
2、创建新的元素并且在XML文档的任意位置插入
3、操作元素并重新插入其到XML文档其他位置
4、导入内嵌数据结构
   
  & . pb9中,数据窗口现在可以通过XML导出内嵌数据结构(nested data structures.
三、什么是PBDOM
PowerBuilder 文档结构模型(PowerBuilder Document Object Model
1PBDOM是通过PBNI扩展出来的,用于操作XML数据,并针对PowerScript作了优化
2、在程序中模型是通过DOM的抽象来表示XML数据。(A programming model to represent XML data –an abstraction of DOM
3、底层是对Apache Xerces/C++的封装。
四、PBDOM的设计目标
1、简单易用(Be straightforward for PowerBuilder programmers
2、可以利用PowerScript的强大语言能力(如对象、方法重载、数据等)
3、在可能的情况下,隐藏了XML底层的复杂实现(Hide the complexities of XML wherever possible
4、原有的DOMpb下使用不够直观(DOM is unintuitive to a PowerBuilder programmer 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。