如何在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 (将#修改为@)