用oleobject方式调用webservice,发现返回来的html是unicode编码问题

JY创建美好 2018-02-24 11:11:17
用OLEobject 方式 POST过去报文是正常的,但是pb程序里收到服务返回html编码格式是unicode的编码格式,文字都变成:“

essage":[{"IsSuccess":false,"Number":"1013","Info":"…………这样的了。

而用webservice studio 之类的工具调用,返回过来的内容是正常的汉字。 所以不知问题出在哪里,请各位大侠不吝赐教,谢谢!
...全文
529 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lucas.Ch 2019-05-13
  • 打赏
  • 举报
回复
工具调用会自动解析转义的,一般都不准,PB11以下,不支持unicode格式,ole是原生态的,不支持自动转义,需手工转义
在c# 2005中编写com组件,供PB11调用实例,研究了一下午,终于成功了,分享给大家 前言:c#中写的dll直接是不能被pb调用的,只有写成com组件才可以调用,所以用c#写dll时要注意。 1、c#2005中新建项目,类型为类库,项目名为AddCom确定。   配置:右键点击解决方案资源管理器中的AddCom,选择“属性”,选择“生成”,选择“为COM Interop注册(_P)” 2、打开AssemblyInfo.cs文件,设置[assembly: ComVisible(true)],如果不改则不能被其他程序调用 3、编写com组件会用到guid(全球唯一ID),编写com组件必须要用到。c#会默认生成一个放在AssemblyInfo.cs,如没有生成,网上下一个生成guid的软件,有很多呢。 4、c#中源代码如下,按如下方法编写代码后生成工程,/bin/release中得到AddCom.dll。 using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace AddCom { [Guid("298D881C-E2A3-4638-B872-73EADE25511C")] public interface AddComInterface { [DispId(1)] int iadd(int a, int b); } [Guid("2C5B7580-4038-4d90-BABD-8B83FCE5A467")] [ClassInterface(ClassInterfaceType.None)] public class AddComService : AddComInterface { public AddComService() { } public int iadd(int a, int b) { int c = 0; c = a + b; return c; } } } 5、dos下利用 e:\regasm AddCom.dll 命令注册com组件,可以理解为非.net平台下的regsvr32注册dll组件。提示注册成功即可。 6、pb11中利用ole调用调用com组件,注意,此com组件无法用create ole control的browse查看到,只能利用如下的方法直接动态调用。 integer li_a,li_b,li_total //----------注册c#生成的com组件------------ OleObject ole_AddCom ole_AddCom = Create OLEObject li_rc = ole_AddCom.ConnectToNewObject("AddCom.AddComService") //AddCom为c#中namespace,AddComService为c#中namespace中的class if li_rc <> 0 then MessageBox("ConnectToNewObject", string(li_rc) ) return end if //----------调用com组件中的函数-------------- li_total = ole_AddCom.iadd(li_a, li_b) //iadd为c#中namespace(AddCom为c)中class(AddComService为c)中的函数(iadd()) 完毕 *以上为个人经验,欢迎大家发邮件沟通。 email: kair-china@vip.sina.com qq: 55092518

662

社区成员

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

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