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...
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.
Is it possible to get this code packaged for Drupal 8?
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?
@Kristin Brinner, I have installed the wsdl_doc module for Drupal 8 on localhost by following the installation instructions given in readme.md. After Installation, I have configured a sample SOAP service where I can see the list of operations for that SOAP service.
However, when I click on one of the operations to visit the details, that time only the Input, Output and Documentation fields for that particular operation appears on landing page.
The information like "View WSDL" ,"View raw WSDL XML" are missing.
Additionally, functionality of testing the SOAP Operation ("Execute Request") is also not available.
Where as these things are available for same SOAP service under the setup where the WSDL_DOC module is configured for the Druapl-7 installation on localhost.
Let me know if these functionalities are available with D8 wsdl_doc module or I am missing some settings.
The D8 WSDL module is intended as a baseline service library that a site implementer can use to customize WSDL docs for a particular site's requirements. Unlike the D7 version, we didn't impose specific features or presentations for the D8 version, so those links aren't include as part of the D8 contrib module.
So no, I don't believe you are missing anything; the screenshot for the contrib module that includes those 'View WSDL' and 'View raw WSDL XML' is from the D7 version of the module.
Additionally, the Try it Now functionality was not included in the D8 version of the module.
Hi, is anyone still doing this in D9 version of the Portal?
It seems the dependencies listed in the post are only supporting D7... They seem pretty abandoned even.
Anyone with an updated "guide" on how to get this working in latest DevPortal version?