PB 模拟 httpclient 发送消息请求的API 求帮助

sikuan 2013-04-19 10:38:11
高手们,最近和客户公司CRM系统有接口通讯,客户方用的是PB开发的CRM系统,我们这边一般是通过http server提供json格式的业务数据
因为本人对PB不懂,特在此向高手请教,PB有没有类似 java 上 apache 提供的httpclient 那样的api或其他东东?
若有,请顺便指明并给一点示例调用处理程序
请高手们指教!
多谢
...全文
5274 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
raynhard 2014-12-16
  • 打赏
  • 举报
回复
lzp_lrp的请的非常有力,今天学到了!
ych12333 2013-05-08
  • 打赏
  • 举报
回复
为什么不让CRM给你们提供一个WEBSRVICE?这个不是更简单。
WorldMobile 2013-05-03
  • 打赏
  • 举报
回复
例子可以参考pb的帮助 PostURL() 功能执行HTTP Post,这样PowerBuilder应用程序就可以通过CGI、NSAPI、ISAPI接口发送请求。 语法servicereference.PostURL ( urlname, urldata, headers, data ) 参数 servicereference:Inet对象实例或引用 urlname:String类型,指定要发送请求的URL(统一资源定位器) urldata:Blob类型,指定发送给urlname参数指定的URL的参数 headers:String类型,指定HTML首部。对Netscape浏览器来说,每个HTTP首部之后需要个换行符(~n),在所有首部之后再跟一个换行符(~n) data:InternetResult实例变量,用于保存返回的HTML 返回值 Integer。函数执行成功时返回1,发生错误时返回下述值: -1一般错误 -2指定的URL无效 -4不能连接到Internet上 -6Internet请求无效 用法 该函数的data参数要求是继承了InternetResult对象的类用户对象实例,在该用户对象的定义中,需要定义覆盖函数InternetData(),用于处理Internet返回的HTML数据。由于Internet以异步方式传送数据,因此,data参数必须是某个实例变量或全局变量的引用(例如窗口级实例变量)。 示例 下面的代码调用PostURL()。其中,Iinet_base是个Inet类型的实例变量;n_ir_msgbox是继承了InternetResult对象的类用户对象,iir_msgbox是该用户对象的一个实例: Blob lblb_args String ls_headers String ls_url Long ll_length ir_msgbox = CREATE n_ir_msgbox ls_url = "http://coltrane.sybase.com/ " ls_url += "cgi-bin/pbcgi60.exe/ " ls_url += "myapp/n_cst_html/f_test? " lblb_args = blob( " ") ll_length = Len(lblb_args) ls_headers = "Content-Length: " + String(ll_length) + "~n~n " iinet_base.PostURL(ls_url, lblb_args, ls_headers, iir_msgbox)
北京大丸子 2013-05-02
  • 打赏
  • 举报
回复
引用 3 楼 lzp_lrp 的回复:
目前我在用http协议与apache 的tomcat通讯 感觉用geturl和posturl一般的功能都可以实现,包括二进制流的传输以及压缩等
版主能不能给个例子,或者发一下邮箱,非常着急这个应用。多谢了 getcmmc#sina.com (请改#为@)
sikuan 2013-04-19
  • 打赏
  • 举报
回复
多谢,请教lzp_lrp: 实现post方式,且传送json或者xml格式内容的客户端调用示例 例如传如下格式的消息内容到服务器端: “ { "cmd": "getVehicleOwnerInfo", "params": { "storeId": "0079", "money": "8693.68" } } ”
WorldMobile 2013-04-19
  • 打赏
  • 举报
回复
目前我在用http协议与apache 的tomcat通讯 感觉用geturl和posturl一般的功能都可以实现,包括二进制流的传输以及压缩等
WorldMobile 2013-04-19
  • 打赏
  • 举报
回复
PB中的INET控件的使用 INET控件可以模拟向INTERNET以GET或POST形式发送请求,并且可能得到请求返回的页面内容,它需要与INTERRNETESULT控件使用.这两个控件都是不可视的,帮助文件写得并不很详细,正确使用这两个控件需要先对这两个控件派生两个标准类,再程序中再实例化使用. NEW一个STANDARD CLASS,选择INET,保存成n_inet NEW一个STANDARD CLASS,选择INTERNETRESULT,在INTERNETDATA函数中写上 messagebox('返回结果',string(data)),保存成n_ir 下面就试下,如下脚本 n_inet ln_inet n_ir ln_ir ln_inet = create n_inet ln_ir = create n_ir integer li_ret li_ret = n_inet.geturl('http://www.china-puer.cn/list.asp?id=1450',ln_ir) if li_ret <1 then messagebox('发生错误',string(li_ret))
chentao 2013-04-19
  • 打赏
  • 举报
回复
PowerBuilder有Inet对象,可以实现发送http请求的功能!
pb8 2013-04-19
  • 打赏
  • 举报
回复
servicereference.PostURL ( urlname, urldata, headers, {serverport, } data ) data区就是你上面的数据 看一下posturl的帮助和例程

663

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder Web 应用
社区管理员
  • Web 应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧