我有许多XSD,它们是客户端多个服务的企业定义的一部分。
我希望能够使用单个XSD并从中生成DDIC结构(不使用PI!)
看到您可以直接从WSDL生成代理,并且这也从WSDL内部的XSD定义生成结构和数据元素,显然已经有ABAP代码执行此操作。
但是你知道用什么类/功能模块来实现这个目的吗?也许有一个方便的实用函数或类方法,它将XSD作为输入并生成相关的DDIC对象?
关于我为什么需要这个的一些背景知识:
某些服务包括变量部分,其中包含一段XML,其中包含一个企业XSD实体的数据;我希望有这些的DDIC表示,我可以在运行时填写,然后转换为XML以包含在消息中。
答案 0 :(得分:3)
系统上有一个名为SPROX_XSD2PROXY
的程序,您可以使用该程序上传一个或多个XSD文件,这些文件将为您生成代理对象。
您最终还会得到一个具有相应类的服务使用者,以及看似虚拟操作的内容。
该计划相当短;它将文件上传到XSTRING,然后使用名为CL_PROXY_TEST_UTILS
的类的方法将XSD转换为WSDL,最后将WSDL转换为代理对象。
然而,结果令人满意,因为它确实给了我一个可以使用的结构。通过检查这些方法的内容,如果我需要,可以构建一个更精细的工具。