Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何配置cxf拦截器以在所有客户端上运行?_Java_Cxf - Fatal编程技术网

Java 如何配置cxf拦截器以在所有客户端上运行?

Java 如何配置cxf拦截器以在所有客户端上运行?,java,cxf,Java,Cxf,我有一个Java web应用程序,它使用cxf(带有一个配置文件)提供多个Soap web服务。 我想进行性能测量,所以我希望在每次Web服务调用之前和之后都运行一个拦截器(具体来说,我需要在调用之前运行一个“out”拦截器,在调用之后运行一个“in”拦截器)。 以下是我所采取的措施和存在的问题: 我的理解是,如果我想使用标记,我的系统中的每个Web服务都需要一个标记。这不是我想要的,因为我不想为每个web服务配置它(更不用说,我不能确保开发人员在添加新web服务时会记住这一点) 我试图将拦截

我有一个Java web应用程序,它使用cxf(带有一个配置文件)提供多个Soap web服务。 我想进行性能测量,所以我希望在每次Web服务调用之前和之后都运行一个拦截器(具体来说,我需要在调用之前运行一个“out”拦截器,在调用之后运行一个“in”拦截器)。 以下是我所采取的措施和存在的问题:

  • 我的理解是,如果我想使用
    标记,我的系统中的每个Web服务都需要一个标记。这不是我想要的,因为我不想为每个web服务配置它(更不用说,我不能确保开发人员在添加新web服务时会记住这一点)

  • 我试图将拦截器放在
    上,但它同时在客户端和服务器上运行。 我不希望传入的Web服务被记录(它们应该已经被记录在客户端上),即使我这样做了,拦截器也会在服务器上以相反的顺序运行(先“入”后“出”)

  • 我试图将拦截器放在总线上,让它在两个总线上都运行,但只在客户端调用我的测量函数,但我找不到如何通过编程区分我是在客户端还是服务器上(我发现
    message.get(message.QUERY\u STRING)
    可以告诉我何时进行wsdl调用,这很有帮助,但仍然不够)

  • 有没有办法让拦截器只在客户机上运行,或者在我在客户机上时在拦截器内知道