在我之前的博客海报中,已经详细阐述了如何通过OData适配器以批处理方式发布简单的消息结构消息。在现实世界中,要发布的消息的结构可能是多层的。而NWDS在从多层结构的OData服务生成xsd方面存在缺陷。在这篇博文中,我们介绍了一种使用POST$batch模式处理多层复杂结构的OData服务的方法。但它确实存在。看起来,大数据实战,当消息结构变得复杂时,NWDS中的OData适配器很难生成XSD。这就是症状:
想想下面这样一个复杂的消息结构
我们已经用上面的消息结构实现了一个OData服务
当我们尝试使用OData适配器的模型操作生成信息时,如下
将出现一个弹出窗口,指示只创建了edmx文件。但尚未创建xsd文件。
尚未生成xsd文件。这里列出的一个是在上一篇博文中创建的。
似乎NWDS无法生成XSD文件的事实阻止了我们使用OData适配器将复杂的结构消息发布到后端。然而,通过一个通用的xsd,你可以走一圈。
以下是步骤。
1。XSD文件
使用下面的源代码创建一个请求XSD文件
对于同步调用,请创建一个通用响应XSD文件,如下
2。导入存档
使用上述xsd文件创建请求/响应导入存档;
3。服务接口
使用创建的导入档案创建入站接口。对于我的showcase,我只创建一个具有相同消息结构的出站接口和入站接口。
操作映射在请求和响应方向上使用直接映射。
4。OData Receiver Configuration
在Parameters页签中,在Processing页签的address字段
中输入OData服务的URL,物联网的应用有哪些,在Operation字段中填写实体集合名称,在Advanced页签中勾选batch Processing标记
,增加参数ContentTypeEncoding为none.
系统中支持的$Batch模式的内容类型只有6种,均为固定编码。如果您有兴趣查看它们,请在方法/IWCOR/If\u DS\u PROCESSOR~PROCESS of class/IWCOR/CL\u DS\u PROC\u DISPATCHER
SAP网关服务框架不支持OData适配器生成的默认内容类型中设置断点。使用此参数,大数据的前景,消息将被接受。
更多信息。OData适配器仅支持XML消息。不支持JSON
在POSTMAN中,输入多层请求消息如下
在我的例子中,我使用REST发送器接收来自邮递员的请求消息,并使用直接映射将请求转发到OData接收器适配器到后端。
这是OData适配器解析的响应消息,云服务器比较,如
如果要检查OData适配器从xml源转换的原始请求数据和原始响应数据该OData适配器已为我们转换为xml响应,请通过trace log视图中的transaction code/IWFND/TRACES
进行跟踪,我们可以看到OData adapter一次消费4次调用,它自己处理csrf令牌
双击第一行,这是真正的请求/响应过程
这是OData adapter从XML转换后的原始请求消息
这是网关服务转换前的原始响应消息OData适配器将其转换为XML
通过使用上述通用请求/响应xsd,OData适配器可以处理各种复杂的消息结构。但是,映射程序只能使用java或xslt。它不支持图形映射。
,大数据+