0

我已经创建了 copybook 元素到 WSDL 字段的映射。并且地图构建成功。但是在本地运行地图时,我正在映射的两个不同操作出现两个错误之一:

1)对于第一个映射:“找到输入有效但未知的数据”并且在我得到的跟踪日志中:INPUT 1 存在(3012 字节)但没有内容。

错误的更多详细信息:(级别 0:偏移量 0,长度 0,comp 1 of 0,#1,DI 000000000001:)偏移量 0 处的数据(类型 X'0004 的'<retrFunction1'(retrFunction1Request retrFunction1Request 消息 WSDLService)。

INPUT 1 存在(3012 字节)但没有内容。

输入卡 1 的验证消息结束。

(偏移量 26130:映射编号 0 (CobolFuncData),DI 000000000000:) TYPE X'0148'(COBOL_OBJECT 组 CopyBook)已构建。

(偏移量 26130:地图编号 0 (CobolFuncData),DI 000000000000:) TYPE X'0124'(000_COBOL_OPERATION Record CopyBook)已构建。

OUTPUT 1 已成功构建。

2)对于第二个映射:“多个输入之一无效”并且在我得到的跟踪日志中:INPUT 1 存在,但其类型错误。

对于case2,我得到:(级别3:偏移量0,len 0,comp 1 of 2,#1,DI 000000000001:)偏移量0的数据(类型X'0008'的'xmlns'(前缀XMLS WSDLService)。

我认为问题不在于 WSDL 类型树与 COBOL 类型树的映射,而是我用于在本地运行这些映射的 XML 请求和响应数据。是否有任何指导方针可用于创建正确的输入并在 WTX 本地成功运行地图。

PS。我通过导入 WSDL 而不是 XSD 来创建类型树。导入 WSDL 时,我没有在类型树中获得节点“DOC”。在这种情况下,我应该使用什么类型的树级别来创建我的地图。我试过 WSDLService -> Type -> ~TypeName -> TypeDef 和 WSDLService -> Type -> ~TypeName -> Seq

4

1 回答 1

0

我自己找到了这个问题的一个原因。原因是请求 XML 与我在转换映射中使用的类型树级别不匹配。如果您使用 WSDL 而不是 XSD(并且“DOC XSD”未显示在您的 WSDL/XSD 类型树中),则执行此映射的更好方法是将输入卡的类型用作您的“输入”来自 WSDL 的操作(例如:输入 yourOperationName 操作 yourWSDLService)。

通常,最重要的是充分理解您的 WSDL 和 WSDL 操作以及 XSD 结构,以便为您的转换创建映射。

于 2014-03-25T00:08:57.563 回答