PB105 调用 Webservice 入参,返回都是结构体,结构体中是String

ningbo_tan 2019-01-04 02:32:42
SoapConnection lsv_sconn
PushBloodInfoImplPort wbs_BloodImport
// 结构体
tns__pushbloodinfo pushbloodinfo
tns__pushbloodinforesponse pushresult

ls_spacename = "http://*****/index.php?m=Home&c=Public&a=login"

lsv_sconn = Create SoapConnection
ll_Ret = lsv_sconn.CreateInstance(wbs_BloodImport,"PushBloodInfoImplPort",ls_spacename)
If ll_Ret <> 0 Then
MessageBox('错误','"WebService 接口连接出错:' + String(ll_Ret),Exclamation!)
Return
End If

String ls_xml // 需传入的xml内容
pushbloodinfo.xmlstr = ls_xml
pushresult = wbs_BloodImport.pushbloodinfo(pushbloodinfo)

MessageBox('返回结果',pushresult.ws_return)

Destroy wbs_BloodImport
Destroy lsv_sconn

/*tns__pushBloodInfo*/
global type tns__pushBloodInfo from structure
string xmlStr
end type
/*tns__pushBloodInfoResponse */
global type tns__pushBloodInfoResponse from structure
string ws_return
end type


调用后报错 :Unexpected return Content-Type: text/html; charset=utf-8
有的大神说是不支持utf-8的格式,怎么解决
...全文
293 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningbo_tan 2019-01-18
  • 打赏
  • 举报
回复
webservice 服务没有问题,应该就是pb的问题
划]破 2019-01-10
  • 打赏
  • 举报
回复
com组件话,要注册才能使用,比较麻烦些;
你试试下载个webservice测试工具,看看这个接口服务是不是有问题;
确定好接口函数的入参、出参类型,是基本数据类型的话,应该是没问题的;
如果返回个dataset之类的,跨语言识别不了也是正常现象
划]破 2019-01-08
  • 打赏
  • 举报
回复
看服务接口函数的返回值类型,如果是String, 就直接用字符串接收就好,代理生成的结构体不用管;
用结构体接收接口返回的类型,肯定不不合法的;
ningbo_tan 2019-01-08
  • 打赏
  • 举报
回复
引用 2 楼 qq_17847881 的回复:
看服务接口函数的返回值类型,如果是String, 就直接用字符串接收就好,代理生成的结构体不用管;
用结构体接收接口返回的类型,肯定不不合法的;

我也这样试过的,直接就报错了...
我没办法自己写了个C# com的 DLL,直接就传入string,返回string 就可以

不想使用DLL这种方式,如果还不能解决,只能使用DLL的方式去解决

ningbo_tan 2019-01-07
  • 打赏
  • 举报
回复
Webservice 是对方使用Java写的,怀疑是否是 定义的Content-Type: text/xml; 而返回是 Content-Type: text/html 造成的

662

社区成员

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

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