Issue Details (XML | Word | Printable)

Key: JAX_WS-544
Type: Bug Bug
Status: Closed Closed
Resolution: Duplicate
Priority: Major Major
Assignee: miroslav.kos
Reporter: rjeberhardbea
Votes: 1
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
jax-ws

wsimport mishandles jar: URL

Created: 31/Mar/08 06:30 AM   Updated: 23/Sep/11 08:56 AM   Resolved: 23/Sep/11 08:56 AM
Component/s: wsimport
Affects Version/s: 2.1.4
Fix Version/s: 2.2.6

Time Tracking:
Not Specified

Environment:

Operating System: All
Platform: All

Issue Links:
Duplicate
 

Issuezilla Id: 544
Tags: metro2_0-waived metro2_1-waived
Participants: jitu, miroslav.kos, ramapulavarthi, ramapulavarthi, rjeberhardbea and skandalfo


 Description  « Hide

If wsimport is passed a jar: URL referring to a WSDL and one or more imports
packaged in a jar, the tool is able to access the primary WSDL, but incorrectly
generates the absolute references to the imported files.

The problem seems to be in
com.sun.tools.ws.wsdl.parserAbstractReferenceFinderImpl.findExternalResource() here:

// absolutize URL.
String ref = new URI(locator.getSystemId()).resolve(new
URI(relativeRef)).toString();

The system-id URI is correct, but the resolve() method returns just the relative
reference.

This code is a copy of matching code in xjc here:

com.sun.tools.xjc.reader.internalizer.AbstractReferenceFinderImpl.

Both would need to be corrected to resolve this issue.



jitu added a comment - 31/Mar/08 09:04 AM

assigning it to Rama


skandalfo added a comment - 02/Jul/09 10:10 AM

The problem seems to be that the jar:file:... URI matches the definition of an
opaque URI: there is no "//" after the "scheme:" part, and thus, as stated here:

http://java.sun.com/j2se/1.5.0/docs/api/java/net/URI.html#resolve(java.net.URI)

the passed in URI is left alone.

So the problem is the morphology of the jar: scheme. This may require using
another "implementation" of a jar:-like scheme


jitu added a comment - 02/Nov/09 02:20 PM

Instead of URI.resolve(), may be URL resolution would work for jar: urls.


ramapulavarthi added a comment - 02/Nov/09 05:12 PM

Adding keyword metro2.0-waived as this is cornercase.


jitu added a comment - 07/Oct/10 01:20 PM

Target for 2.2.2


ramapulavarthi added a comment - 19/Nov/10 02:26 PM

This is a uncommon usage and waived for this release.


miroslav.kos added a comment - 23/Sep/11 08:56 AM

Already fixed, see linked issue ...