Return-Path: X-Original-To: apmail-cxf-issues-archive@www.apache.org Delivered-To: apmail-cxf-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B95E218D8D for ; Thu, 6 Aug 2015 11:58:04 +0000 (UTC) Received: (qmail 49598 invoked by uid 500); 6 Aug 2015 11:58:04 -0000 Delivered-To: apmail-cxf-issues-archive@cxf.apache.org Received: (qmail 49558 invoked by uid 500); 6 Aug 2015 11:58:04 -0000 Mailing-List: contact issues-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 issues@cxf.apache.org Received: (qmail 49542 invoked by uid 99); 6 Aug 2015 11:58:04 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Aug 2015 11:58:04 +0000 Date: Thu, 6 Aug 2015 11:58:04 +0000 (UTC) From: "Robby Pelssers (JIRA)" To: issues@cxf.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (CXF-6523) org.apache.cxf.interceptor.Fault: wrong number of arguments (due to explicit soap header) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Robby Pelssers created CXF-6523: ----------------------------------- Summary: org.apache.cxf.interceptor.Fault: wrong number of arguments (due to explicit soap header) Key: CXF-6523 URL: https://issues.apache.org/jira/browse/CXF-6523 Project: CXF Issue Type: Bug Components: Core Affects Versions: 3.1.2, 2.7.11 Reporter: Robby Pelssers Priority: Critical Attachments: workorders.wsdl An explicit Soap header is causing issues due to having the same QName as the wrapped Soap body This results in a MessageInfo object with 1 messagePart and 1 outOfbandPart, both having the same QName. Problem is that in the WrapperClassInInterceptor we loop over messageInfo.getMessageParts which actually returns the combined list of messageParts and outOfBandParts. Now for the header part with QName "{urn:VF_WorkOrders}parameters" we do a lookup wrappedMessageInfo.getMessagePart(part.getName()) which retrieves the wrapped input messagePart. for (MessagePartInfo part : messageInfo.getMessageParts()) { if (Boolean.TRUE.equals(part.getProperty(ReflectionServiceFactoryBean.HEADER))) { MessagePartInfo mpi = wrappedMessageInfo.getMessagePart(part.getName()); if (mpi != null && lst.hasValue(mpi)) { count++; newParams.put(part, lst.get(mpi)); } else if (mpi == null || mpi.getTypeClass() == null) { //header, but not mapped to a param on the method if (removes == null) { removes = new ArrayList(); } removes.add(part.getIndex()); } } else { ++count; } } -- This message was sent by Atlassian JIRA (v6.3.4#6332)