通过WSDL生成的服务使用者在cdata中发送XML

2020-08-21 11:37发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我通过WSLD生成了...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我通过WSLD生成了一个服务使用者。

只有一个功能带有一个参数。 该参数称为XmlData。

我在字符串变量中生成了xml。

现在我要发送此xml

<?xml version =" 1.0" encoding =" UTF-8"?> 内容

当我这样做时,代理会对消息中的所有xml-标记进行编码。

当我将cdata添加到字符串中时,效果相同。

<![CDATA [<?xml version =" 1.0" encoding =" UTF-8"?> 内容]]

在两种情况下,ABAP都具有以下优点:

<![CDATA [<?xml version =" 1.0" encoding =" UTF-8"?>

你能帮我吗?

4条回答
亦是此间程序员
2020-08-21 11:43

仍然是相同的行为

 SOAP:1001 CX_XSDANY_PARSE_ERROR:XSLT异常aufgetreten.Im ST-Program/1SAI/SAS080D3449F89B99BDF3A3序列号是Serialisierung ein Fehler aufgetreten。  p>我认为您想要实现什么:

  <![CDATA [<?xmlversion =" 1.0" encoding =" UTF-8"?>  content ...  ]]>  

不能用<![CDATA [...]]>

完成,但是100%等效于:

 &lt;?xml version =" 1.0" encoding =" UTF-8"?&lt; root&gt;内容...&lt;/root&gt;  

NB:论坛中存在渲染错误,因此我必须在&(&lt;和&gt;)之后插入一个在现实世界中不存在的空格。

因此,您可以通过选择标记" untyped mapping"(显示它必须先被激活的选项)来实现。

然后使用以下代码初始化值:

 ls_request-xml_data = cl_abap_codepage => convert_to(' <![CDATA [<?xml version =" 1.0"?>  conte  nt ... ]]> ')。

应该在Web服务请求中呈现如下内容:

 &lt;?xml version =" 1.0" encoding =" UTF-8"?&gt;&lt; root&gt;内容...&lt;/root&gt;  
# p#

我想知道这是否归因于您使用的名称" root"。 它可能是一个特殊的值。 您可以尝试使用其他名称吗?

一周热门 更多>