如果代理要与 Web Service 客户机通信,它通常需要接收 SOAP 消息。要使用这种方法,您应该使用 MRM 域,在这种情况下,Web Service 客户机使用的代理的消息模式和 WSDL 定义必须描述相同的消息。
如果代理有现有消息模式(可能是通过导入 C 头文件或 COBOL 副本创建),这可以导出以创建由客户机使用的相应 WSDL 定义。同时,需要使用合适的 SOAP 封包的定义(对于 rpc 样式)和 WSDL 操作来增强您的消息模式。当前仅支持 WSDL V1.1。
为了生成 WSDL,您需要:
对于每个 WSDL 操作,消息类别是必需的。此类别指定一组来自代理模式的消息,并将它们与指定的 WSDL 操作类型的所需 WSDL 限定符相关联。
在运行时,SOAP 消息的格式取决于在向导中指定的 WSDL 样式。如果用户选择 rpc 样式,则 SOAP 封包将包含与 WSDL 操作对应的消息。WSDL 生成器将向消息集中添加对应于 WSDL 操作的适当消息定义。如果选择文档样式,则 SOAP 封包将只包含在类别中指定的消息,所以无需向您的消息集中添加其他消息定义。
SOAP 封包的消息定义和 SOAP 编码方案(如果需要)将导入到消息集中。
所生成的模型允许您使用 MRM XML 解析器在要封包消息类型的地方分析入局 SOAP 消息。SOAP 封包使用其成分 header 和 body 节以及许多连接点(其中可显示各种业务有效负载)来定义外部 SOAP 包装器。 使用组合消息定义这些附件点,允许代理消息在这些点显示。
允许的连接点是 Envelope.Body、Envelope.Header 和 Envelope.Body.Fault.detail。 来自您的消息模式的消息可以在每个点显示(在 Envelope.Header 的情况下,会显示多条消息)。在 rpc 样式 WSDL 情况下,在 Envelope.Body 期望的消息自动生成与 WSDL 操作对应的消息(例如消息类别)。在所有其他情况下, 期望的消息是那些由消息类别引用的消息。