Ok, so here's what I found out: 1. Some of the imports/includes are correctly replaced because they are directly used in the wsdl:types part of the WSDL. All others are not replaced at all. 2. For the others, I had to patch org.apache.cxf.frontend.WSDLGetUtils.updateSchemaImports(Bus, Schema, String, Map<String, SchemaReference>, String, String) so that, for includes, the target namespace of the parent schema is used to build the schema URI. Otherwise, the relative references to schemas remain as they are and client applications cannot work with the schemas.
Mit freundlichen Grüßen / With kind regards, Julien Charon Avitech GmbH Engineering AxL Tel.: +49 (0)7541/282-177 Fax: +49 (0)7541/282-199 e-mail: [email protected] ________________________________________________ Avitech GmbH Principal Office: Bahnhofplatz 1 | 88045 Friedrichshafen | Germany Court Registration: Amtsgericht Ulm | HRB 728293 Geschäftsführer/Managing Director: Antonio Maria Gonzalez Gorostiza http://avitech.aero This message may contain confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. -----Ursprüngliche Nachricht----- Von: Julien Charon [mailto:[email protected]] Gesendet: Montag, 15. Juni 2015 10:51 An: [email protected] Betreff: schemaLocation not correclty replaced in xsd Hi all, I have a webservice running on tomcat and wanted to do some basic tests using SOAP UI. The tests failed because at some point SOAP UI wasn't able to correctly handle XSDs that are referenced from the WSDL. I took a deeper look at the behaviour and realised that not all schemaLocation attributes in referenced XSDs are replaced correctly. For example, assuming schema A is referencing schemas B and C, only reference to B is replaced correctly: <schema> ... <import namespace="http://www.b.org" schemaLocation="b.xsd" /> <import namespace="http://www.c.org" schemaLocation="c.xsd" /> ... </schema> Is replaced to: <schema> ... <import namespace="http://www.b.org" schemaLocation="http://myserver/mySoapApp/service/soap?xsd=http://www.b.org/b.xsd" /> <import namespace="http://www.c.org" schemaLocation="http://myserver/mySoapApp/service/soap?xsd=http://www.c.org/c.xsd" /> ... </schema> Someone faced similar behaviour and knows how to fix that? Mit freundlichen Grüßen / With kind regards, Julien Charon Avitech GmbH Engineering AxL Tel.: +49 (0)7541/282-177 Fax: +49 (0)7541/282-199 e-mail: [email protected]<mailto:[email protected]> ________________________________________________ Avitech GmbH Principal Office: Bahnhofplatz 1 | 88045 Friedrichshafen | Germany Court Registration: Amtsgericht Ulm | HRB 728293 Geschäftsführer/Managing Director: Antonio Maria Gonzalez Gorostiza http://avitech.aero<http://avitech.aero/> This message may contain confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system.
