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 8E38517B4C for ; Fri, 22 May 2015 17:40:17 +0000 (UTC) Received: (qmail 94964 invoked by uid 500); 22 May 2015 17:40:17 -0000 Delivered-To: apmail-cxf-issues-archive@cxf.apache.org Received: (qmail 94919 invoked by uid 500); 22 May 2015 17:40:17 -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 94849 invoked by uid 99); 22 May 2015 17:40:17 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 May 2015 17:40:17 +0000 Date: Fri, 22 May 2015 17:40:17 +0000 (UTC) From: "Andreas Panagiotidis (JIRA)" To: issues@cxf.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (CXF-6420) Maven cxf-java2ws-plugin generates a single wsdl for multiple services/executions MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Andreas Panagiotidis created CXF-6420: ----------------------------------------- Summary: Maven cxf-java2ws-plugin generates a single wsdl for multiple services/executions Key: CXF-6420 URL: https://issues.apache.org/jira/browse/CXF-6420 Project: CXF Issue Type: Improvement Components: Build system Affects Versions: 3.1.0 Environment: in all environments, version Reporter: Andreas Panagiotidis I use the Maven cxf-java2ws-plugin to generate WSDLs from @WebService annotated Java classes. For each Service, we have to create an execution in the plugin. By default in the latest version of cxf-java2ws-plugin the configuration parameter "attachWsdl" is true. That means that the plugin generates a WSDL for *each* execution. Unfortunately, the plugin during the maven install phase copies each generated WSDL to the local repository to the directory: {code} maven-local-repository\[groupId]\[version]\[artifactId]-[version].wsdl {code} The naming of the file is the reason that maven does not copy to a local all the WSDLs - only the one from the last execution get's deployed, as maven overwrites the previous. Equally important, with Maven version 3.3.3 does not allow to release the Maven project. (Maven 3.0.5 had a different process) The maven deploy plugin during the release uploads to the enterprise repository the first generated WSDL successfully. But then it goes to upload the WSDL from second execution, but that already exists in the Maven Enterprise Repository. Thus, the project cannot upload the WSDLs. We may set the attachWsdl option to false, but this is not a solution, as for some the goal is to *deploy* the WSDL files. I attach a zip with a maven project that demonstrates the issue. You see that the plugin overwrites in the local repository the WSDL file, instead of generating once for each execution. Deploying a release version to a Maven Enterprise Repository throws an HTML 400 error, as normally a release repository does not allow the redeployment of file. In the end of the day, the plugin does not allow to copy to a repository each WSDL. This is against to what it promotes and what its goal was. A simple change is the solution. Add in the name of each generated WSDL the name of the Service that it represents too. {code} maven-local-repository\[groupId]\[version]\[artifactId]-[version].[service-name].wsdl {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)