The WSDL Docs module was originally released as a contributed module on drupal.org in January 2019. A new major release, 7.x-2.x is now available on drupal.org.
The WSDL Docs module was developed for organizations who want to display WSDL (Web Service Definition Language) documentation for SOAP (Simple Object Access Protocol) APIs in an Apigee Devportal. As the SmartDocs module is often used on Devportals to document RESTful (Representational State Transfer) APIs, the WSDL Docs module follows the model of the SmartDocs module for documenting SOAP APIs.
The WSDL Docs module represents SOAP API documentation as a ‘service entity’ in the Devportal. For a given service entity, the module generates nodes for each operation and then renders the SOAP trace form on each node. This allows for SEO friendly navigation of documentation throughout the Devportal and the flexibility to display the operation nodes in views. The WSDL Docs module also allows sending of SOAP requests for operations, similar to the ‘Send this request’ functionality available for each REST method when using SmartDocs.
If you are not familiar with how to add modules to your Devportal, Apigee provides great documentation for working with a cloud-based or on-prem Devportals:
For Pantheon, see the following resources:
For Acquia, read more about the following topics:
For Private Cloud/OPDK, read more about the following:
The WSDL Docs module allows users to import WSDL documents to create SOAP API Documentation in two ways: via the Drupal administrative UI, and also via REST requests.
View a service entity and its operations
The service entity must be created first before it can be updated with a WSDL resource (either a file or a URL) to add information about the service entity’s operations.
curl -X POST [your-website-url]/[your-service-path-to-endpoint]/wsdl \ -H 'Content-Type: application/json' \ -H 'Authorization: Basic [authorization hash]' \ -d '{"name": "[name of new service]"}'
Once a service entity has been created, the service entity can be updated with a URL that refers to the WSDL resource.
curl -X PUT [your-website-url]/[your-service-path-to-endpoint]/wsdl/[wsdl-doc-machine-name] \ -H 'Authorization: Basic [authorization hash]' \ -H 'Content-Type: application/json' \ -d '{"url": "[URL of WSDL/XSD file ie http://www.thomas-bayer.com/axis2/services/BLZService?wsdl]"}'
For importing multiple files, be sure the first file in the list is the main file that makes any references to additional files. The first file imported will be renamed [service-machine-name]-[service-id].[file extension (wsdl/xsd)] and saved to sites/default/private/wsdl_docs_files. If multiple files are imported, an archive of all of the files will be saved as [service-machine-name]-[service-id].zip.
curl -X POST [your-website-url]/[your-service-path-to-endpoint]/wsdl/[wsdl-doc-machine-name]/import \ -H 'Authorization: Basic [authorization hash]' \ -H 'content-type: multipart/form-data' \ -F 'soap_api_definition[]=@[path-to-main-wsdl]' -F 'soap_api_definition[]=@[path-to-other-wsdls]'
curl -X DELETE [your-website-url]/[your-service-path-to-endpoint]/wsdl/[wsdl-doc-machine-name] \ -H 'Authorization: Basic [authorization hash]'
For information on the earlier 7.x-1.x version of this module, see the earlier Apigee Community article at https://community.apigee.com/content/kbentry/64767/documenting-soap-apis-on-devportal-using-the-wsdl.html
This module is supported through community efforts and pull requests. For any customizations please contact Achieve Internet.
I came across the below point in the post, how would I be able to install soap on the server, is it a module? if so, please give the details to proceed further
===========================================
===========================================
Regards,
Ashwith
You need the PHP SOAP extension to be enabled - see https://www.php.net/manual/en/book.soap.php for more information.
This is a requirement of the wsclient_soap module.
Achieve is working with Google to plan a Drupal 8 version, but the work hasn't started. I'd be curious if anyone else following this thread was also looking for the D8 version of WSDL Docs.
do we have documentation for version wsdl_docs 3.0.0-beta3 on the same topic here - how to use REST request to create/update/delete soap api documentation?
Documenting SOAP APIs on Devportal using the WSDL Docs Module
Content Access Control on Developer Portal SmartDocs Documentation
SmartDocs and Swagger UI - A Comparison
APIs for publishing SmartDocs on Developer Portal
How to customize SmartDocs so that I can test against different environments from the same page
SmartDocs role based access control
SmartDocs - A custom module to your rescue - Fix for SmartDocs issues
Apigee Developer Portal - Go Live Check List
Exception thrown while creating Smart Docs using JSON
How to add a left nav to SmartDocs Method page to list all operations of the current model