微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Apex中解码SOAP响应并在报告中显示结果?

如何解决如何在Apex中解码SOAP响应并在报告中显示结果?

我正在尝试基于SOAP-Webservice在Apex中构建表单和报表。 SOAP-Webservice目前尚不可用,因此我使用SoapUI基于WSDL创建了SOAP-MockService。

发送请求可以正常工作,但是Apex似乎无法读取响应。 响应将保存在名为RESULT的集合中。 Apex生成以下查询以从集合中读取:

select xtab.OrderID
  from apex_collections c,XMLTable(XMLNAMESPACES(DEFAULT 'http://localhost/WebService'),'//WebserviceResponse' passing c.xmltype001
            COLUMNS "OrderID" PATH 'OrderID'
          ) xtab
 where c.collection_name = 'RESULT'

但是遗憾的是,报告中没有显示结果。因此,我四处搜寻并发现,我的问题是,SOAP-Response无法成功读取,因为它的格式错误,例如,响应中包含的符号不是“

所以我创建了一个过程,用正确的符号替换错误的部分。看起来像这样:

BEGIN
select 
  replace(replace(replace((c.clob001),'&lt;','<'),'&gt;','>'),'&amp;','&') clob001
into :EXAMPLE
from 
  wwv_flow_collections c 
where c.collection_name = 'RESULT';
END;

要进行查找,不管它是否起作用,我创建了一个名为EXAMPLE的字段,它起作用了。 SOAP响应现在采用正确的格式,并显示在示例字段中。

但是如何将我放置正确符号的解决方案与开头显示SQL查询结合起来?我尝试将过程的结果写到一个新的集合中,但是我对Apex和PL / sql还是陌生的,所以我不知道该怎么做。

感谢您的回答,希望我能形容我的问题,我的英语不是很好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。