ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Brown <paulrbr...@gmail.com>
Subject Re: XSD REpository
Date Mon, 28 Apr 2008 18:53:45 GMT

Hi, Wayne --

> I have a WSDl that tries to pull in XSD from the network.  I  
> understand that
> this is not supported in ODE and the suggested practice is to assemble
> the XSDs locally.

It isn't the way that users would necessarily like to have the feature  
("Just find my stuff!"), but if you believe in "least surprise" as a  
design constraint, it's the best choice.  Resources can move, be  
unavailable, change, etc.  It's better to have the user make explicit  

You *could* try to engineer in a feature that would supply a different  
ResourceFinder implementation to the compiler (via the  
BpelC#setResourceFinger) and actually fetch WSDL/schema, but that will  
surely open at least one can of worms.  Maybe a --resource-finder- 
fqcn=org.foo.Finder and then require a default constructor?

> I will do so, but I would like to avoid altering the WSDL at all  
> costs, as
> it includes many XSD's, and those XSD's pull in further XSD's  
> recursively.
> I was thinking it would be ideal if ODE supported mapping of the  
> imports
> URN's to local files, similarly to Apache Synapse. Or is there  
> something
> that does this currently that I am missing? or is it in the works?

Once upon a time, one of ODE's forbears (PXE) did exactly this,  
although it used a URI mapping scheme to pack the WSDLs and schemas  
all into a big JAR file.  Even after you get over the obvious  
obstacles (circular references), it's still fraught with peril around  
target namespace versus location URIs for schema references, relative  
versus absolute URIs and base URIs, etc.

Ode uses the import functionality native to WSDL and BPEL to get the  
job done; deploy.xml references processes that reference WSDL and  
schema documents, and the default there is to relativize all URIs and  
omit anything that doesn't fit that mold.  (Matthieu or Alex correct  
me if I'm wrong.)

> Also, can anyone recommend a tool to pull down the whole lot in the  
> 1st
> place?

I've used wget with the --recursive flag for that purpose.

-- Paul

View raw message