当我尝试使用此代码接收Web服务消息时,我还有一个问题
RUN importRequest IN hRequest(INPUT DATASET request, OUTPUT returnCode, OUTPUT returnMessage, OUTPUT DATASET resultDset ).
但是我收到下一封邮件
接收Web服务响应时出错:输入流为空。不能 创建XMLParser。(11773)
当我进入Web服务时,创建了注册器。 感谢您的时间和帮助。
我尝试了所有类型的解决方案,但无法解决,请寻求帮助。
答案 0 :(得分:0)
进度知识库中有许多关于该错误的文章:
Progress Software完全不支持Web服务响应。如果您使用的是11.6,请使用ABL中的新HTTP客户端与Web服务进行通信。
这里有一个示例,展示了如何使用HTTP客户端与SOAP Web服务进行通信:
答案 1 :(得分:0)
所有操作完成后,我又收到下一个错误:将OpenEdge.Core.Memptr上的Invalid强制转换为Progress.Json.ObjectModel.Json.Object(12869),我尝试的代码是:
/*JSOOOOOOOOOOOOOON*/
assign
cTargetType = "FILE"
cFile = "C:\dset" + cFecha + ".json"
lFormatted = true
cEncoding = ?.
define variable hDataSet as handle.
lReturn = dataset requestDataset:write-json("LONGCHAR", lcJSonData, lFormatted, cEncoding,true,true).
lcJSonData = replace(replace(lcJSonData,"[",""),"]","").
/*stop JSOOOOOOOOOOON*/
message 'hello'
view-as alert-box.
copy-lob from lcJSonMeta to file ("C:\doBJ" + cFecha + ".xml") no-convert.
/*oObject = cast(oParser:Parse(lcJSonData), JsonObject). */
/*copy-lob from oObject:GetJsonText() to file ("C:\doBJ" + cFecha + ".xml") no-convert.*/
oEntityNiko = new string(lcJSonMeta).
oRequest = RequestBuilder:Post(httpUrl,oEntityNiko)
:AcceptJson()
:AddHeader("Accept", "application/xml")
:AddHeader("Accept", "text/plain")
:AddHeader("Content-Type","application/xml;charset=utf-8")
:AddHeader("Connection", "Keep-Alive")
:Request.
message 'despues de requestbuilder'
view-as alert-box.
oLib = ClientLibraryBuilder:Build()
:AddSslProtocol('TLSv1.2')
:AddSslCipher('AES256-SHA256')
/*:sslVerifyHost(no)*/
:Library.
message 'after olib clientlibrarybuilder'
view-as alert-box.
oResponse = ClientBuilder:Build()
:UsingLibrary(oLib)
:Client
:Execute(oRequest).
message 'after of oresponse clientbuilder'
view-as alert-box.
message oResponse:StatusCode
view-as alert-box.
message oResponse:StatusReason
view-as alert-box.
oEntity = oResponse:Entity.
oObjectResponse = cast(oEntity, JsonObject).
cNomFichero = 'webserviceNico_' + cFecha + '.json'.
cFichJson = 'C:\' + cNomFichero.
copy-lob from oObjectResponse:GetJsonText() to file (cFichJson) no-convert.