2

Is there any application that can use as input a XML file (wsdl in fact) with some includes and browse recursively these includes to make a final XML (big, indeed) with the target includes merged into it?

Explanation: The BDS 2006 WSDL Importer, cannot deal with includes and some data types defined into imported xsd are not imported so i get compilation errors. When I replace all includes recursively with all the referred XSD files into one big XML, the WSDL Importer works fine, but do this replacements manually is very hard and time expensive. There are some application to do it for me?

Thanks in advance!

3 Answers3

3

I think that QTAssistant does it way better (I am partial here), at least compared with the steps described by @Nick in his comment; one thing that is assumed here is that there's only one XSD; if there's more than one namespace involved, the approach would be to copy each file individually, while making sure that the schemaLocation attributes are removed. Regardless, there seems to be lots of fiddling involved.

In QTAssistant, there's a button under the Tools tab, Internalize XSDs; its job is to prompt you for a WSDL file location, and a folder where to copy the result.

QTAssistant WSDL Internalize XSD command

Fill in these two fields, press Load and then OK.

QTAssistant WSDL Internalize XSDs prompt

The refactored WSDL file is then opened for reviewing.

enter image description here

You can also press the Validate button to run it by WS-I BP 1.1 rules, as well as XSD schema set validation.

Petru Gardea
  • 21,373
  • 2
  • 50
  • 62
  • i clicked the link at the top for http://paschidev.com/ but i did not see any such product that opens xml and visually displays xml. – Trevor Boyd Smith Dec 16 '21 at 19:55
  • i then tried checking out the opensource [qt4 assistant](https://doc.qt.io/archives/qt-4.8/assistant-details.html) and [qt5 assistant](https://doc.qt.io/qt-5/assistant-details.html) but those those applications are just for displaying help files for [qt4](https://doc.qt.io/archives/qt-4.8/index.html) and [qt5](https://doc.qt.io/qt-5/). – Trevor Boyd Smith Dec 16 '21 at 19:56
  • @TrevorBoydSmith The one you refer to is something else. We are currently experiencing an outage due to our hosting provider. – Petru Gardea Dec 17 '21 at 20:16
2

I think that OxygenXml can do this.

I'm not a delphi developer. I'm assuming that you are trying to created a consolidated concrete WSDL for consumption by some kind of proxy generator in delphi yeah?

Nick Ryan
  • 2,662
  • 1
  • 17
  • 24
  • Yes! I'm trying to consume a webservice and the wsdl has imports. The WSDL importer does not deal with them! – Carlos B. Feitoza Filho Apr 10 '12 at 16:36
  • I downloaded a trial version of OxygenXml. Now, how to use it to do what i want? – Carlos B. Feitoza Filho Apr 10 '12 at 16:51
  • Browse to the WSDL, save as a local file. In oxygen, create a new XSD schema. Paste in the parts of the WSDL that are XSD. Right click on the text view of the XSD to get a context menu. Select Refactor\Flatten Schema. When you are satisfied with the schema, paste it back into your WSDL (your Concrete WSDL). Create your client proxy from the concrete WSDL. – Nick Ryan Apr 10 '12 at 17:24
-3

There are some problem with my WSDL. All answers are good answers but none of then works. Thank you all for the try