cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Mao <james....@iona.com>
Subject Re: Possible WSDL/Schema multiple import bug
Date Sun, 05 Nov 2006 06:19:32 GMT
I thought Tom already fix this problem last Friday.
And i think the better solution is to report a bug to ws-common , not in 
cxf.
But anyway, tom already fix that.


Dan Diephouse 写道:
> Michael - did this ever get resolved? If not, can you create a JIRA 
> issue so we make sure it doesn't get lost?
>
> - Dan
>
> Michael Bricout wrote:
>
>> Hi,
>>
>> I have a test case that uses a set of WSDLs and schemas with multiple
>> imports using relative URIs.
>>
>> ie: A.wsdl imports B.xsd that imports C.xsd, all are located in the
>> same directory.
>>
>> In A.wsdl:
>> <xsd:import namespace="http://foo" schemaLocation="./B.xsd"/>
>>
>> In B.xsd:
>> <xsd:import namespace="http://foo/bar" schemaLocation="./C.xsd"/>
>>
>> Code generation works fine, however I have a problem at runtime where
>> the server fails to initialize with the following exception:
>>
>> java.lang.RuntimeException: 
>> org.apache.ws.commons.schema.XmlSchemaException:
>> /[my project path]/C.xsd (No such file or directory)
>>
>> The problem is that the URI for importing C.xsd is incorrectly 
>> determined.
>> In the example above, C.xsd would actually be located in
>> /[my project path]/target/test/wsdl/C.xsd
>>
>>
>> I see the following behavior in org.apache.cxf.resource.URIResolver:
>>
>>
>> For A imports B, we create a URIResolver with the following parameters:
>> baseUriStr = "file:[path to A]/A.wsdl" (correct)
>> uriStr = "./B.xsd"
>>
>> Then tryFileSystem(baseUriStr, uriStr) is invoked and B.xsd is correctly
>> resolved.
>>
>>
>> Now for B import C, we create a URIResolver with the following 
>> parameters:
>> baseUriStr = "./B.xsd"
>> uriStr = "./C.xsd"
>>
>> The value for the base URI being set to a relative path, we fail to 
>> resolve
>> C.xsd. tryFileSystem ends up calling tryClasspath("./C.xsd"), which in
>> turn calls tryRemote(), which aborts on a MalformedURLException.
>>
>>
>> I simplified my test case a bit in an effort to isolate the issue, but
>> I get the same problem when using relative URIs to import schemas
>> from different directories.
>>
>>
>> Should I file a bug report for this, or am I doing something wrong ?
>>
>> This use case was working before the switch from XmlSchema 1.0.2 to 1.1
>>
>> Best regards,
>> Michael
>>
>>
>>
>
>


Mime
View raw message