[
https://issues.apache.org/jira/browse/CXF-6420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Panagiotidis updated CXF-6420:
--------------------------------------
Summary: Maven cxf-java2ws-plugin copies to the maven repository only the
last wsdl of multiple services/executions - overwrites the others (was: Maven
cxf-java2ws-plugin generates a single wsdl for multiple services/executions)
> Maven cxf-java2ws-plugin copies to the maven repository only the last wsdl of
> multiple services/executions - overwrites the others
> ----------------------------------------------------------------------------------------------------------------------------------
>
> 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
> Labels: easyfix
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> 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)