0

在 MULE CE 3.3.0 中,我想实现这个过程:

在此处输入图像描述

1- 邮局提供向客户提供邮政编码的服务。因此邮局为其服务创建了一个 WSDL 文件。

2-在这里,我们公司是邮局和客户之间的连接器。我们公司使用mule,根据邮局的WSDL 文件创建另一个WSDL 文件,并将WSDL 发布出来供客户使用。

3- Company-A 和 Company-B,获取 WSDL 文件 URL,例如在 My-eclipse IDE 或任何其他 IDE 中创建一个 portlet 并将其部署在 liferay 门户中作为 Web 服务,用于向其显示邮政编码客户。

在此过程中,我想要一个 IP 地址的日志文件。这意味着,我想在 A 公司的客户端或 B 公司的客户端发送到服务器(我们公司)的每个请求之后,将其 IP 地址插入数据库或文件中。

我用红色箭头说明了我在图像中的位置。现在我想在 MULE 服务器中放置一个脚本,并收集公司 A 和公司 B 使用邮政编码 web 服务的客户的所有 IP 地址。

我可以 为此问题使用cxf-interceptor吗?如何?引导我?

4

1 回答 1

3

正如 genjosanzo 在https://stackoverflow.com/a/15993127/387927中建议的那样,您可以访问 CXF 拦截器中的所有 Mule 标头。这意味着是的,您可以使用 CXF 拦截器实现您的目标。

以下是此类拦截器的示例:https ://github.com/mulesoft/mule/blob/mule-3.3.1/modules/cxf/src/main/java/org/mule/module/cxf/support/MuleHeadersInInterceptor .java

这是一个配置示例,展示了如何使用 Spring 实例化和配置 CXF 拦截器:https ://github.com/mulesoft/mule/blob/mule-3.3.1/modules/cxf/src/test/resources/header-配置文件

它的要点是:

<cxf:inInterceptors>
    <spring:bean id="foo1" class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
</cxf:inInterceptors>
于 2013-04-15T19:03:49.487 回答