ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:56.50KB ,
资源ID:8752677      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8752677.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(pb调用webservice.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

pb调用webservice.doc

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

2、ttp://localhost:8080/axis/services/SoapService "//web   service   url // lsc_conn   =   Create   SoapConnection lsc_conn.SetOptions( "SoapLog=~ "soaplog.txt~ " ") int   li_ret,   i li_ret   =   lsc_conn.Createinstance(   lproxy_obj,   ls_proxy_name,   ls_url) If   li_ret   <>   0   The

3、n 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(lst_res

4、ult.result),   "code: "   +   lst_result.reason.code   +   "~nmessage: "   +   & lst_result.reason.message   +   "~ndesc: "   +   lst_result.reason.desc   ) 注意pb调用webservice只能返回简单的int   string类型,复杂的结构会出错 怎么样在pb9里面调用WebService pb9也出来了,速度够快的,大概看了一下,与pb8比较,增加的功能不多,主要是WebService,Xml和Ejb.我就感受了一下p

5、b9的WebService功能,与大家共享。 我们用一个实例来说明: 新建应用,这些步骤与pb8一致的。然后建立一个WebService Proxy Wizard,下一步会提示你输入WSDL文件,点击浏览选择,假设是C:\inetpub\wwwroot\的service1.wsdl文件。点击下一步,会自动出现WSDL文件中的Service.点击下一步,系统默认选择ServiceSoap,紧接着输入proxy name(代理对象名),输入test_ws.后面的几项按默认即可。 完成后是编译代理对象的界面。会出现: Web Service Generator Project Sta

6、tus 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_wsse

7、rvice1soap的东西。 点击加号的图标,在function中可以看到里面的我们定义的show(string yourname) returns string. 好了最重要的一步已经完成了,我们来测试一下: 建一个windows,添加一个文本框和按钮控件。 在cb_1.click事件写入: SoapConnection conn Test_wsservice1soap test_ws long rVal //string str_endpoint //str_endpoint = "http://localhost/webserver/service1.

8、asmx?WSDL" conn = create SoapConnection rVal = Conn.CreateInstance(test_ws, "test_wsservice1soap") sle_1.text = test_ws.show("你的参与是我们最大的支持") destroy conn 好了,保存,会提示SoapConnection未定义。 增加PBSoapClient90.pbd到库列表中。PBSoapClient90.pbd在pb安装目录下 Shared\PowerBuilder。增加后左边treeview会出现soapconnection,SO

9、AP server soapexception 两个对象. 运行,点击按钮,文本框中出现欢迎你的参与是我们最大的支持 注意的是:Service1.asmx文件在服务器上是可以运行的,否则不会出现东西的。 添加PBSoapClient90.pbd和引用webservice 作者:feique123 2009-10-10 15:06 星期六 晴 1、  PBSoapClient90.pbd在pb安装目录下 Shared\PowerBuilder。在pb的tree中的target属性中添加。增加后左边treeview会出现soapconnection,SOAP server s

10、oapexception 两个对象.。 2、在一个按钮的click事件中写的如下例子。 SoapConnection conn Test_wsservicesoap test_ws long rVal conn = create SoapConnection rVal = Conn.CreateInstance(test_ws, "test_wsservicesoap") sle_1.text =string(test_ws.jihe("select * from t_user", "t_user")) destroy conn 注:test_ws为代理对象名

11、 3、要想在pb中用webservice必须要建一个webservice,其引用的wsdl文件,应该是pb所在机器上访问到的wsdl文件,也就是所能访问的webservice服务。PBDOM操作XML文档轻松入门(Easy XML with PowerBuilder Document Object Model) (作者:Terry Voth、JohnStrano) (根据 翻译整理) 本文对PBDOM技术进行相关介绍,但并不涉及XML的基础知识,建议阅读者对下述相关术语有一定了解:Document(文档), DTD(文档类型定义), schema(大纲),Element(

12、元素), attribute(属性), processing instruction(处理命令), entity(实体)。 本文主要包括以下内容: 1、为什么要使用PBDOM以及怎样创建PBDOM 2、PBDOM主要用于那些地方 3、如何使用PBDOM编程 4、PBDOM和其他XML解析(parser)技术的比较 一、什么是DOM ◆文档对象模型(Document Object Model) 1、作为一项W3C规范,XML DOM存在目的是为不同类型的应用程序提供一个标准的编程接口,它被设计可以跨平台、跨语言使用。 2、我们可以利用XML DOM创建XML文档并操纵

13、其结构,增加、修改、删除元素。 3、程序中调用XML解析器载入XML文档到内存中。当文档被载入后,可以通过进入DOM检索和操作相关信息。 4、DOM 保存了XML文档树,文档(document)元素位于整棵树的最顶层。该元素可以有一到多个子节点来保存树的结构。 可以参阅以下网站: 来了解更多的关于XML Document Object Model的内容。 二、什么时候应该使用DOM工具 ◆当你需要做下列事情的时候,你应该想到XML DOM的 1、在一个或者多个XML文档之间移动元素 2、创建新的元素并且在XML文档的任意位置插入 3、操作元素并重新插入其到XML

14、文档其他位置 4、导入内嵌数据结构 & . pb9中,数据窗口现在可以通过XML导出内嵌数据结构(nested data structures). 三、什么是PBDOM ◆PowerBuilder 文档结构模型(PowerBuilder Document Object Model) 1、PBDOM是通过PBNI扩展出来的,用于操作XML数据,并针对PowerScript作了优化 2、在程序中模型是通过DOM的抽象来表示XML数据。(A programming model to represent XML data –an abstraction of DO

15、M) 3、底层是对Apache Xerces/C++的封装。 四、PBDOM的设计目标 1、简单易用(Be straightforward for PowerBuilder programmers) 2、可以利用PowerScript的强大语言能力(如对象、方法重载、数据等) 3、在可能的情况下,隐藏了XML底层的复杂实现(Hide the complexities of XML wherever possible) 4、原有的DOM在pb下使用不够直观(DOM is unintuitive to a PowerBuilder programmer) 五、使用PB

16、DOM初步 ◆PBDOM设置 1、添加pbdom90.pbd(%SYBASE%\Shared\PowerBuilder)到工程的pbl列表中 2、%SYBASE%\Shared\PowerBuilder应该在系统路径或者应用程序的路径中(也就是pbdom要使用此路径下的pbdom90.dll, pbxerces90.dll、xerces_2_1_0.dll文件,同样,当程序发布时候也需要) 六、PBDOM类的使用 ◆如图所示,反映了PBDOM类的组成和继承关系,可以看到,几乎所有的PBDOM类都继承自PBDOM_Object(除了PBDOM_Builder和PBDOM_E

17、xception) 1、PBDOM_Document ◆构建PBDOM举例 1.1 直接构建(XML documents can be created from scratch) PBDOM_Document doc PBDOM_Element rootdoc = CREATE PBDOM_Document root = CREATE PBDOM_Element root.SetName( "root" ) root.SetText( "this is the root" ) doc.AddContent( root ) 1.2 从文件、字符串、DataStor

18、e中载入 PBDOM_Builder builder doc = builder.BuildFromString( "bar" ) doc = builder.BuildFromFile( "c:\foo\bar.xml" doc = builder.BuildFromDataStore( l_ds) 2、PBDOM_Element 2.1 遍历元素 PBDOM_Element root, children[], first // Get the root element of the document root = doc.GetRoot

19、Element() // Get an array of all child elements root.GetChildElements( children ) // Get only elements with a given name root.GetChildElements( "name", children ) // Get the first element with a given name first = root.GetChildElement( "name" ) 注意: 上例中得到的元素数组是联动的!(The element array is li

20、ve!) 即: ◆ 修改数组中的元素,同样会作用到父文档 ◆ 返回的数组是有界的(Once the array is returned, it is now bounded) ◆ 在数组中增加新元素时,需要一个SetContent()方法调用 2.2 移动元素 // PBDOM_Document docOne,docTwo PBDOM_Element movable movable = CREATE PBDOM_Element Movable.SetName( "movable" ) docOne.AddContent( movable ) // add movab

21、le.Detach() // remove docTwo.addContent( movable ) // add again 注意: 1、只要是从PBDOM_Object继承的对象,都可以调用Detach()方法(如Comments、ProcessingInstructions、Elements (and their content)等等) 2、PBDOM元素对象不是永久的捆绑在它的父文档上的(PBDOM elements aren't permanently tied to their parent document) 2.3 符合规格(Always well-f

22、ormed) PBDOM_Element构造器以及setter方法会检查元素是否符合规格: elem.SetName( "Spaces are illegal" ) AddContent()方法也会从以下几个方面进行检查: ◆ 结构---树中没有循环(Structure –no loops in any tree) ◆ 只有一个根节点元素(One and only one root element) ◆ 相容的命名空间(Consistent namespaces) 3、PBDOM_Attribute 3.1 操作元素属性 ◆ 元素可以有多个

23、属性

// Get an attribute ls_width = table.GetAttributeValue( "width" ) // or ls_width = table.GetAttribute ( "width" ).GetText() // Attributes can be typed li_border = table.GetAttribute( "width" ).GetIntValue() // Set an attribute table.SetAttri

24、bute( "cellspacing", "0" ) // Remove an attribute table.RemoveAttribute( "cellspacing" ) // Remove all attributes PBDOM_Attribute empty[] table.SetAttributes( empty ) // the PowerScript way 4、PBDOM_Text 4.1 操作元素文本内容 cool demo // the text is directly avai

25、lable –returns // "~r~ncool demo~r~n" ls_desc= elem.GetText() // two convenience methods ls_desc= elem.GetTextTrim()// returns "cool demo" ls_desc = elem.GetTextNormalize()// returns "cool demo" // text can be changed directly elem.SetText( "a new description" ) 5、PBDOM_Object 5.1 操作有

26、混合内容的元素 cool demo PBDOM_Object content[] desc.GetContent( content ) FOR i = 1 TO UpperBound( content ) CHOOSE content[i].GetObjectClassString() CASE "pbdom_comment" // ... CASE "pbdom_processinginstru

27、ction" // ... END CHOOSE NEXT 6、PBDOM_ProcessingInstruction 6.1 使用处理命令(Processing instructions) {------target------} {----------------data---------------} // Get target (e.g., "xsl-stylesheet") ls_target = pi.GetTarget() // G

28、et data (e.g., 'type="text/xsl"href="foo.xsl"') ls_data = pi.GetText() // Get individual values as attributes String names[] pi.GetNames( names ) FOR i = 1 TO UpperBound( names ) MessageBox( names[i], pi.GetValue( names[i] ) NEXT 7、PBDOM and 命名空间(Namespaces) ...... String ls_element PBDOM_Element template // get element name and namespace –return "xsl:template" t

30、emplate = root.GetChildElement( "template" ) ls_element= template.GetNamespacePrefix() +":"+ template.Getname() // get element by name and namespace template = root.GetChildElement( "template", "xsl", "http://www.w3.org/1999/XSL/Transform") 七、PBDOM vs. the Competition ◆Apache Xerces/COM

31、Xerces 是现在PBDOM底层使用的XML解析器,但对PowerBuiler用户来说使用不直观。(Xerces is the [current] underlying XML parser for PBDOM, but is less intuitive) ◆MSXML .无法在UNIX等操作系统上使用(No deployment to UNIX possible) .同样对PowerBuiler用户来说使用不够直观(Less Intuitive) .COM collections vs. PB arrays (pb用户当然会优先选择使用数组来处理数据) ◆Others Expat–a C DLL (使用时需要声明外部函数…使用不够广泛)

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服