Web Services Description Language is a blessing and a curse at the same time. It can be a great aid for QA but has a high entry barrier for more than just testers. Read to learn more and find some working sample WSDL URLs for SoapUI testing.
Web Services Description Language is an XML description of a web service’s work. It enables client-facing applications to communicate with web services before responding to the end user. The structured nature of WSDL is useful for various purposes, including API integrations.
WSDL is a key Simple Object Access Protocol (SOAP) component. This was the main pick for transferring data when interfacing with public web services. While most B2C companies have long moved on to REpresentational State Transfer (REST) with JSON files, SOAP is still maintained in less dynamic enterprise environments. Keep reading to learn more about WSDL.
Table of Contents
Understanding WSDL for SoapUI testing
The essential functionality of WSDL is to tell client software all operations possible with the web service. Here is what you would usually find inside such files:
- Service is a set of system functions that can be interfaced with
- The Port is the connection point for the web service, usually a simple URL
- Binding specifies the SOAP binding style of choice (Remote Procedure Call or Document), although WSDL also supports HTTP GET & POST and MIME bindings.
- PortType (Interface) describes the web service, potential operations, and required messages.
- Operation is the specific SOAP operation used to achieve certain actions with the web service.
- The message is the unique transmission to/from the web service. The commonly used WSDL message types are request-response, one-way, notification, and solicit-response messages.
As the name suggests, SoapUI can be used to test SOAP-powered services. There is a large feature set for functional testing, including the Request TestStep suite to validate messages received during test execution.
WSDL files enable several different ways to use SoapUI for SOAP testing:
- Import WSDL files as essentially web service guides to simplify testing
- Generate web service simulations (dubbed MockServices by SoapUI) to imitate client behavior and test against it
- Visualise test coverage
- Bonus feature: WSDL factoring can get tests and simulations up-to-date with a subsequent version of WSDLs
MockServices have the highest impact on quality assurance and the entire software development cycle. They address the surging need for testing software as early as possible for a rather old technology. Creating a SoapUI mockup for a SOAP service enables you to run all kinds of tests before the actual software using the SOAP service is built. You are looking at testing weeks and months earlier, especially when still using the traditional Waterfall methodology for software development.
The MockServices functionality also unlocks soapui’s full potential for automated testing. You can create presets of actual and even explored/backlogged SOAP operations, then set up various responses to them. This is useful for speeding up testing, quick prototyping, highly secure QA without accessing the web service, and much more.
What is a sample WSDL?
Sample WSDL file is just that — an example of a WSDL file. They are useful for getting your head around all the concepts from earlier in the article. WSDL is a relatively intuitive language, so you may even take the first steps to make a WSDL file of your own. Some sample WSDLs also come with solid code documentation, giving pointers on how to add context to a WSDL line of your own.
Open-functioning WSDL files available online can also be called sample WSDL files. They have value beyond education, as you can adapt these files to describe your SOAP service with less effort than creating it from scratch.
Importance of Sample WSDL for SoapUI Testing
Similarly, sample WSDL for SoapUI testing can have both research and practical applications. Looking at other people’s MockServices can inspire you to increase your SOAP test coverage. The value can go beyond SOAP services, as you may find relevant concepts and angles for testing other areas of your solution.
REST testing is the area where such discoveries will translate best into. While looking at noticeably different requests, you can still find some WSDL testing in SoapUI ideas that will also work for REST testing.
How to use sample WSDL for SoapUI Testing?
But, you can use sample WSDL to test with SoapUI, just like any other WSDL for testing (or something else). Here are just some ideas:
- Study a sample WSDL to learn how they are made
- Borrow complete code lines for your project
- Reuse concepts from WSDL for testing and even web services improvements
Sample WSDLs are getting increasingly difficult to find, as most companies using WSDLs do not publish their code. Self-hosting could help the preservation effort! Make a local copy or self-host any WSDL file you find interesting because the early 2000s website hosting may be gone in a few months.
Note: SoapUI only works with WSDL files conforming to WSDL 1.1 and 1.2. You will need to backport (=rewrite) an WSDL 2.0 into WSDL 1.1 if you want to use it in SoapUI. The biggest change would be messages. Depending on the file, expressing conventional XML Schema found in WSDL 2.0 via WSDL 1.1 XML messages becomes an effort.
6 Working Sample URLs for SoapUI Testing and more
Here are some working sample URLs for SoapUI testing that you may apply for more than just QA.
German bank sort codes lookup
A German-American open-source enthusiast Thomas Bayer offers a WSDL file for quickly getting information on German banks. You enter a bank sort code (BLZ code) and get details for that bank. You can find up-to-date BLZ codes online.
Country code shenanigans
People usually have a fulfilling life oblivious to country codes, but the software crowd doesn’t. Country codes have been key for data processing but are also very important for global services and e-commerce.
A true pioneer of web development, Jan Wielemaker offers a feature-rich WSDL to handle country codes. You can fetch the ISO codes, then manipulate them to learn the currency, dialing code, and time zone of countries.
You will need something more reliable for finance. You may rely on Google for your regular exchange rates, and the Sheets formula that fetches rate updates is very nice. However, Google gets data from different sources, and I have seen a European currency locked at the wrong rate for several days. Why not see if a WSDL file from the market data company Xignite has something for you?
Just a sample file
If you try to look up anything about web development, you will always find a learning resource from the World Wide Web Consortium (W3C). They have been around since before the first WSDL files were created. It’s only natural that they have been hosting an example for over 20 years.
Converting Celsius to Fahrenheit and vice versa only happens to some people. That leaves room for confusion and error when you must do that for work. A good example would be complying with various environmental and safety regulations in the US when developing electronics.
Can I generate a sample request from a WSDL in SOAPUI?
Yes, SOAPUI allows you to generate a sample request from a WSDL. After importing the WSDL, locate the desired operation in the SOAPUI project, right-click on it, and select Generate Sample Request. SOAPUI will generate a sample request base on the WSDL's request structure, which you can modify and use for testing.
Are there any sample WSDL files design explicitly for SOAPUI testing?
While there may not be sample WSDL files designed explicitly for SOAPUI testing, SOAPUI supports WSDL files conforming to the SOAP web service standard. You can use any valid WSDL file, whether it's a sample or from a genuine web service, to create and execute tests in SOAPUI.
Can I modify a sample WSDL file for custom testing scenarios in SOAPUI?
Yes, you can modify a sample WSDL file to fit your custom testing scenarios in SOAPUI. After importing the WSDL, you can edit the WSDL definition, request structures, and other elements to align with your specific test requirements. SOAPUI provides a flexible environment to customize and execute tests based on modified WSDL files.
Is it necessary to have a WSDL file for SOAPUI testing?
Yes, having a WSDL file is necessary for SOAPUI testing as it serves as the contract defining the web service's structure and operations. The WSDL file enables SOAPUI to generate the artifacts and bindings required for accurately testing SOAP-base web services.
Can I use a WSDL URL instead of a local file in SOAPUI?
Yes, SOAPUI allows you to use a WSDL URL instead of a local file for testing. When importing a WSDL, choose the From URL option and enter the URL pointing to the WSDL file. SOAPUI will fetch the WSDL from the provided URL and generate the necessary artifacts for testing.
Can I export a WSDL file from SOAPUI after making modifications?
Yes, you can export a modified WSDL file from SOAPUI. Right-click on the desired project or interface, go to Export -> WSDL, and choose the desired export location. SOAPUI will generate a WSDL file reflecting the modifications made in the SOAPUI project, allowing you to save and share the modified WSDL for further use.
WSDL files are a neat artifact of the early web services era you can still find in the enterprise today. Going through sample WSDL files is very educational and sometimes even practical when working with SOAP and REST services. Finding examples gets increasingly difficult, so bookmark this article before you go.