Return-Path: X-Original-To: apmail-cxf-dev-archive@www.apache.org Delivered-To: apmail-cxf-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0BBE81069C for ; Thu, 26 Sep 2013 15:44:01 +0000 (UTC) Received: (qmail 14388 invoked by uid 500); 26 Sep 2013 15:43:59 -0000 Delivered-To: apmail-cxf-dev-archive@cxf.apache.org Received: (qmail 14268 invoked by uid 500); 26 Sep 2013 15:43:56 -0000 Mailing-List: contact dev-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list dev@cxf.apache.org Received: (qmail 14171 invoked by uid 99); 26 Sep 2013 15:43:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Sep 2013 15:43:55 +0000 X-ASF-Spam-Status: No, hits=-5.0 required=5.0 tests=RCVD_IN_DNSWL_HI,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of asoldano@redhat.com designates 209.132.183.28 as permitted sender) Received: from [209.132.183.28] (HELO mx1.redhat.com) (209.132.183.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Sep 2013 15:43:48 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r8QFhRDc028360 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 26 Sep 2013 11:43:27 -0400 Received: from localhost.localdomain (vpn1-7-149.ams2.redhat.com [10.36.7.149]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r8QFhQWo007132 for ; Thu, 26 Sep 2013 11:43:26 -0400 Message-ID: <5244561D.9040601@redhat.com> Date: Thu, 26 Sep 2013 17:43:25 +0200 From: Alessio Soldano User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8 MIME-Version: 1.0 To: dev@cxf.apache.org Subject: Custom HandlerChainInvoker Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Virus-Checked: Checked by ClamAV on apache.org Hi, I currently have an integration requirement which basically imply having to perform some additional authorization checks just before invoking any JAXWS handler handleMessage method. For achieving that, I've thought about using a custom HandlerChainInvoker overriding 'invokeLogicalHandlers' and 'invokeProtocolHandlers' methods. For installing such a custom invoker, I thought about adding a custom AbstractPhaseInterceptor running just before the SOAPHandlerInterceptor in the PRE_PROTOCOL_FRONTEND phase; the new handler would install my invoker in the Exchange, similarly to what is done in AbstractJAXWSHandlerInterceptor#getInvoker. The problem I have, however, is that ofcourse I need a handle to the handler chain (List) to build the invoker: the handler chain is available from the Endpoint stored in the current exchange, if the endpoint is an instance of JaxWsEndpointImpl. Any idea / hint on how to get that there easily for other Endpoint types? Does the whole flow here make sense? Would it make sense to allow a more direct customization of the handler chain invoker? Thanks Alessio -- Alessio Soldano Web Service Lead, JBoss