Hi all, In my opinion Peter sketched out a nice solution. Why do you care of having multiple copies of the xsd while they're generated? Generated code shouldn't be in version management, only the sources. And because of his solution makes use of only one xsd you're not duplicating anything. The only source is the original (shared) xsd file.
I have to use this soon too, so this message opened my eyes on this point! Regards, Sietse -----Original Message----- From: Mauro Molinari [mailto:[EMAIL PROTECTED] Sent: 20 November 2007 10:56 To: [email protected] Subject: Re: Shared schemas: where to put them? Hi Peter, thank you for your reply! Peter Hrastnik ha scritto: > Hi! > > I had similar requirements and decided to rely on code generation by > WSDL2JAVA. WSDL2JAVA takes the unique shared XSD from a source > directory and copies it for each service. That is, I have a directory > wsdlDefinitions that contains service1.wsdl, service2.wsdl, and > common.xsd. Then I run WSDL2JAVA to generate server code with the -R > option, and .../MyService1/META-INF/service1.wsdl > .../MyService1/META-INF/common.xsd > > .../MyService2/META-INF/service2.wsdl > .../MyService2/META-INF/common.xsd > > are generated. I have no troubles with the replication of common.xsd > because I only change wsdlDefinitions/common.xsd. Generated artefacts > won't be touched anyway. This could be a work-around, although it is not so convenient if all those things are then put under version-control. I might consider to add the replication of common.xsd in every META-INF directory at deploy time, but this makes things more complicate than they should and could cause a burden at development time when working with IDEs. I was wondering if a more clean way of doing this exists, however thank you very much for your suggestion! > I know that my approach above may not be appropriate in your > situation. If so, perhaps You can try setting the useOriginalWSDL > parameter in the service.xml to true. Frankly, I don't know the effects of doing this. Actually, I am using useOriginalWSDL="true". The problem is that if I put things so that Axis2 can find all the WSDLs and XSDs and make the necessary changes (e.g.: the port address, the WSDL and XSD import locations, etc.), then things cannot be downloaded by a HTTP client; while, if I put things so that HTTP client could access them, Axis2 cannot find all the WSDLs and XSDs anymore. -- Mauro Molinari Software Developer [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
