[SWS-681] Manifest files in 2.0.0 release are incorrect Created: 17/Jan/11  Updated: 04/May/12  Resolved: 21/Mar/11

Status: Closed
Project: Spring Web Services
Component/s: Core
Affects Version/s: 2.0 GA
Fix Version/s: 2.0.1

Type: Bug Priority: Minor
Reporter: Casey Hadden Assignee: Arjen Poutsma
Resolution: Fixed Votes: 5
Labels: None
Remaining Estimate: 0d
Time Spent: 0.05d
Original Estimate: Not Specified


 Description   

The manifest files in the 2.0 release jars appear incorrect.

The spring-ws-core jar does not include OSGi information, while the spring-ws-security jar and others reference the 2.0.0.M4 release.

spring-ws-core-2.0.0.RELEASE.jar/META-INF/MANIFEST.MF :
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: arjen
Build-Jdk: 1.6.0_22

spring-ws-security-2.0.0.RELEASE.jar/META-INF/MANIFEST.MF:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: arjen
Build-Jdk: 1.6.0_22
Export-Package: org.springframework.ws.soap.security;version="2.0.0.M4"
[snip]
Bundle-Vendor: SpringSource
Bundle-Version: 2.0.0.M4
Tool: Bundlor 1.0.0.RELEASE
Bundle-Name: Spring Web Services SOAP Security



 Comments   
Comment by Richard Kettelerij [ 13/Feb/11 ]

This turns out to be an issue for Apache Camel, see https://issues.apache.org/jira/browse/CAMEL-3659.

Comment by David Geary [ 15/Mar/11 ]

Also ensure that javax package imports do not include version numbers (or are verison "0") where possible (ie for packages now part of java se)

eg in spring ws 1.5.9 the imports are (extract from manifest)

javax.activation;version="1.1",
javax.servlet,javax.servlet.http,javax.wsdl;resolution:=optional,
javax.wsdl.extensions;resolution:=optional,
javax.wsdl.extensions.schema;resolution:=optional,
javax.wsdl.extensions.soap;resolution:=optional,
javax.wsdl.extensions.soap12;resolution:=optional,
javax.wsdl.factory;resolution:=optional,
javax.wsdl.xml;resolution:=optional,
javax.xml.namespace,
javax.xml.parsers,
javax.xml.soap;resolution:=optional,
javax.xml.stream;version="1.0",
javax.xml.stream.events;version="1.0",
javax.xml.stream.util;version="1.0",
javax.xml.transform,
javax.xml.transform.dom,
javax.xml.transform.sax,
javax.xml.transform.stream

whereas in spring ws 2.0.0.M1 more versions are referenced ie

javax.activation;version="[1.1.0, 2.0.0)",
javax.servlet;version="[2.4.0, 3.0.0)",
javax.servlet.http;version="[2.4.0, 3.0.0)",
javax.wsdl;version="[1.6.1, 2.0.0)";resolution:="optional",
javax.wsdl.extensions;version="[1.6.1, 2.0.0)";resolution:="optional",
javax.wsdl.extensions.schema;version="[1.6.1, 2.0.0)";resolution:="optional",
javax.wsdl.extensions.soap;version="[1.6.1, 2.0.0)";resolution:="optional",
javax.wsdl.extensions.soap12;version="[1.6.1, 2.0.0)";resolution:="optional",
javax.wsdl.factory;version="[1.6.1, 2.0.0)";resolution:="optional",
javax.wsdl.xml;version="[1.6.1, 2.0.0)";resolution:="optional",
javax.xml.namespace;version="0",
javax.xml.parsers;version="0",
javax.xml.soap;version="[1.1.0, 2.0.0)";resolution:="optional",
javax.xml.stream;version="[1.0.1, 2.0.0)";resolution:="optional",
javax.xml.stream.events;version="[1.0.1, 2.0.0)";resolution:="optional",
javax.xml.stream.util;version="[1.0.1, 2.0.0)";resolution:="optional",
javax.xml.transform;version="0",
javax.xml.transform.dom;version="0",
javax.xml.transform.sax;version="0",
javax.xml.transform.stream;version="0",
javax.xml.xpath;version="0",

compared to core spring (3.0.5) where the imports are just

javax.xml.namespace;version="0";resolution:="optional",
javax.xml.stream;version="0";resolution:="optional",
javax.xml.stream.events;version="0";resolution:="optional",
javax.xml.stream.util;version="0";resolution:="optional",
javax.xml.transform;version="0";resolution:="optional",
javax.xml.transform.sax;version="0";resolution:="optional",
javax.xml.transform.stax;version="0";resolution:="optional"

Since spring ws currently forces the version, to get the spring ws bundles resolved you need to install additional bundles (eg javax.xml.stream) but even then this will cause a conflict with core spring which gets wired to the underlying JRE javax classes.

Not having the version number allows the everything to pick up the underlying JRE javax classes.

Comment by Arjen Poutsma [ 21/Mar/11 ]

This should be fixed now.

I've uploaded a new snapshot for you to verify. Could you please download this snapshot and see if the manifests are correct now?

Comment by David Geary [ 21/Mar/11 ]

Seems to be fixed, tested on Karaf - the snapshot bundles install and resolve now.

Comment by Arjen Poutsma [ 04/May/12 ]

Closing old issues

Generated at Mon Dec 18 05:13:50 UTC 2017 using JIRA 6.4.14#64029-sha1:ae256fe0fbb912241490ff1cecfb323ea0905ca5.