Uploading WSDL as File

A particularly common problem in SOAP services is that although WSDL is accessible via https, the XSD files in it remain accessible over the http address, thus causing file resolution problems.

In cases where such SOAP Services need to be added to Apinizer, especially if there is no option to correct the service definition file, the file upload feature allows us to add the service to Apinizer.

However, if the method of defining the service to Apinizer with the WSDL file upload option is selected, there are points to be considered, unlike other upload options.

The first of these can reference different XSD files due to its WSDL structure, and these references must be uploaded to the system. For this, it is necessary to find which XSD files should be loaded together with the WSDL and the contents of these XSD files must be downloaded as files.

After the files are downloaded, the location of each in the WSDL should be updated as in the image below:

 


Updating the WSDL may not be sufficient by itself, if there are places in the XSD that reference other XSDs, they should also be updated.

In order for the referenced XSD files to be uploaded to the system with WSDL, Apinizer files must be "zipped" together. However, in order for the files to be zipped, they must all be at the same file path level. If you put the files in a folder and zip the folder, the WSDL cannot be parsed properly.

A sample image showing the file directory paths is given below:


The image of the zipped version of these files is as follows:


Having Multiple Ports in a SOAP Service

SOAP services can have more than one port as shown in the image below.


In this case, Apinizer uses the first of these ports.

If it is desired to create API Proxy for other ports, WSDL should be updated so that only the relevant port remains in the service definition file (WSDL) for each port for which API Proxy is to be created and uploaded to Apinizer.