对方的webservice地址http://128.8.33.93:57772/csp/dhcens/DHC.BC.BS.WebBCService.CLS
其中有个方法GetPatInfo(),接口采用的交互方式是Web service + xml
我的pb版本是9.0,我该怎么调用GetPatInfo这个方法,并接受返回值,完全没有概念。
谁会的教教我吧
------解决方案--------------------
------解决方案--------------------
1. 首先对方要提供1个wdsl文件,这个是必须的
2. 然后你在本地创建个webservice proxy,使用这个文件,会生成一个代理对象,这个对象中就有getpatinfo的方法
3. 去PB的公用对象库中找到pbsoapclient90.pbd加到你的库列表中。
4. 参照下面的代码去写程序
- C# code
// webservice服务器端会提供wsdl接口文档// pb里面用web service proxy wizard从wsdl生成对象// 再调用即可(注意把c:\program files\sybase\shared\powerbuilder下面的pbsoapclient90.pbd加入target),代码样例: SoapConnection lsc_conn // soap连接translatorwebservicesoap lproxy_obj // 代理对象,通过web servece proxy生成,需要的wsdl数据由web service方提供,本例中在网上下载得到String ls_proxy_name = "translatorwebservicesoap"//生成的代理对象名称 String ls_url = "http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx" // web service url int li_ret, i lsc_conn = Create SoapConnection lsc_conn.SetOptions( "SoapLog=~"soaplog.txt~"") // 连接web service实例li_ret = lsc_conn.Createinstance( lproxy_obj, ls_proxy_name, ls_url) If li_ret <> 0 Then MessageBox( "错误 ", "调用失败,错误号码: " + String(li_ret)) Return End If String ls_SendString ls_Result[]ls_send = sle_1.text// 调用webservice方法翻译test的中文译文ls_Result = lproxy_obj.getencntwowaytranslator(ls_send)// 结果为字符串数组,显示之mle_1.text = ''for i = 1 to upperbound(ls_result[]) mle_1.text += ls_result[i] + '~r~n'next
------解决方案--------------------
http://www.th7.cn/Article/bc/nt/200801/93621.html