【发布时间】:2015-09-10 21:58:21
【问题描述】:
我正在尝试创建服务,每次都写入输入和输出管道(xmldata),调用已安装的服务之一。当调用其他服务时,我的服务应该如何知道?是否有任何内置工具可以捕获输入和输出管道并保存到文件或任何其他来源?
【问题讨论】:
我正在尝试创建服务,每次都写入输入和输出管道(xmldata),调用已安装的服务之一。当调用其他服务时,我的服务应该如何知道?是否有任何内置工具可以捕获输入和输出管道并保存到文件或任何其他来源?
【问题讨论】:
您可以在WmPublic 包中使用 webMethods 的内置服务之一:
pub.flow:savePipelineToFile
请注意,出于明显的性能/资源原因,不建议在生产中使用“savePipelineToFile”。当然,要从文件中加载管道,请使用:
pub.flow:restorePipelineFromFile
在 webMethods 中调试的通常工作流程是:
服务“savePipelineToFile”和“restorePipelineFromFile”对于调试您的服务非常有用。 “管道”文件将位于:
IntegrationServer\pipeline
如果您的要求表明您需要生成 xml 平面文件,请使用以下内容:
将文档序列化为xml(WmPublic包)
pub.xml:documentToXMLString
将 xml 字符串写入文件(WmPublic 包)
pub.file:stringToFile
希望对你有帮助!
编辑:
默认情况下,soap 标题是隐藏的。大多数情况下,您不需要soap 标头,但您可以强制webMethods 通过执行以下操作将soap 标头添加到管道中。
1) 点击网络服务描述符。
2) 在属性面板中,将“Pipeline Headers Enabled”设置为 true。
soap 标头在设计时不会出现在您的管道中。它只会在运行时存在。如果您想查看soap 标头的内容,则需要使用我之前描述的“savePipelineToFile”/“restorePipelineFromFile”技术。
要使soap 标头出现在设计时,您必须对soap 标头字段进行隐式映射,就好像它们在那里一样。
【讨论】: