How to test an xml WSDL endpoint using SOAP UI

This is a brief guide if you are keen to learn how to test your WSDL endpoint using SOAP UI.

To start off with, what is WSDL?

What is WSDL?

WSDL is a “Web Service Definition Language” is an XML language for describing Web services. Specifically, it is defined by the industry body W3 – World Wide Web Consortium (W3C) organisation as the following:

Web Service Definition Language (WSDL) is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint.

Okay, you may be thinking, that’s great. So how do I test it?

Well I will show you how to test this WSDL using a free online web services endpoint that has been made available for testing. The WSDL and endpoint will be testing with is called the Holiday Web Service WSDL and I will be using a free version of an API endpoint testing software called, “SOAP UI” to show you how to test and engage with an WSDL endpoint.

About Holiday Web Service WSDL

The Holiday Web Service WSDL (HolidayService2 Web Service) is a free service that calculates holiday dates. Offered via their website at

HolidayService2 Web Service

Specifically, “HolidayService2” will be the version we will be using today. They have kindly created a bunch of operations or functions where you can to retrieve holiday dates based on a provided country code and date ranges.

We will also focus on the GetCountriesAvailable API call and will be notinng the following countries which are currently supported by their WSDL. (please note that you will need to have the exact text exact wording to generate a result). That is:

  • United States – UnitedStates
  • Great Britain & Wales – GreatBritain
  • Northern Ireland – IrelandNorthern
  • Republic of Ireland – IrelandRepublicOf
  • Canada – Canada

From a system perspective, this is what is set in their WSDL.

<countryCode>Canada or GreatBritain or IrelandNorthern or IrelandRepublicOf or Scotland or UnitedStates</countryCode>

Manually check if the output is correct

At any time, you can also confirm output using this page, where you can check the public holidays –

HolidayService2 Web Service operations

The team that created Holiday Web Services also offer other operations, these include: 

  • GetCountriesAvailable – Get the available countries
  • GetHolidayDate – Get the date of a specific holiday
  • GetHolidaysAvailable – Get the available holidays for a specified country
  • GetHolidaysForDateRange – Get the holidays for a date range
  • GetHolidaysForMonth – Get the holidays for a specific month
  • GetHolidaysForYear – Get the holidays for an entire year

Testing the HolidayService2 Web Service operations using SOAP UI

Step 0 – Install Soap UI Open Source

Download and install SoapUI Open Source software on your computer

Step 1 – Create New SOAP Project in SOAP UI

  • Project name: Holiday Web Service Testing
  • Initial WSDL endpoint link:
  • Create Requests: Create sample requests for all operations: Yes
  • Create Test Suite: Creates a Test Suite for the imported WSDL: Yes

Step 2 – Generate testsuite (Optional)

Step 3 – select Getholidaysavailable endpoint

Select the “GetHolidayAvailable” endpoint, add in the following as the body payload and send the request through.

<soapenv:Envelope xmlns:soapenv="" xmlns:hs="">

Step 4 – Change country Change the country to see different results.

<soapenv:Envelope xmlns:soapenv="" xmlns:hs="">

You can use the “Clone Request” function within SOAP UI if you would like to speed things up and save the different requests you want to test.

You can also try with Canada.


Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language,

You will also find a summary of these additional operations supported by this Web service available here – and

Images loading from IP address on WordPress

If you’re like me, you may be surprised to suddenly find that images on some of your posts have an image loading from an IP address instead of your domain name on your WordPress website.

Images loading from IP address instead of domain name on WordPress

I did not realise I had some broken images and maybe even images loading off my WordPress IP address instead of which is you’d want your visitors to see. (You can read more here if you’re interested in why exposing your origin IP address is not a good idea – Cloudflare hides your origin server IP addresses for traffic you proxy to Cloudflare).

Example of images not loading

Here is an example of one of my images that was not loading.

Images not loaded, why?

Discovered images loaded from IP address instead of domain name on WordPress

I looked into the HTML code and discovered one of my WordPress IP addresses was being referenced for the image.

Most likely as I had writing new blog posts via my WordPress IP address at https://35.230.x.x/wp-admin directly instead of so it automatically picked up that IP address to reference to.

IP address listed where I am storing my image!

So I can manually update these links so it says….

That allows the image to load now which you’ll see below. (You can also test this via the following and you’ll see that only my newly updated link works).

  •×768.jpg vs
Image loaded after updating link

Great news is this fixed my images and made sure that they are loading. Now the question is how do I know and check if this is an issue for my other posts? How do I do that at scale?

Well, we can WordPress plugins to help us 😉

So we can use a WordPress Plugin that does a search and replace like functionality. You can use any that you prefer, but the goal now is to search for your WordPress IP address and do a very specific update to any references to this old WordPress IP address. Always back up your database before making changes here.

I personally like to use these WordPress plugins:

Once you have selected one of these you will want to use them in “dry run” mode, so you can review before any action is taken.

  • Case-insensitive = Yes
  • Replace GUIDs = Leave unchecked
  • Run as dry run? = Yes

Example of fixing this image IP address on WordPress using “Better Search Replace” plugin

Example of images loading properly now after the fix

Example of using “Velvet Blues Update URLs” plugin to Images loading from IP address on WordPress

If you want to use the Velvet Blues Update URLs to change the IP address to your current domain name. I recommend using the “URLs in page content” box. But can also consider the other options as well. Just make sure that you do back up and update your website when you can.

Updating URL links using Velvet Blues Update URLs plugin

Please feel free to comment below you have questions or tips for other readers to resolve this problem as well. Happy blogging!

How to fix the “updating failed” error on WordPress and Cloudflare

This is a guide on how to fix the “updating failed” error on WordPress 5.2.3 and Cloudflare.

As context, I am running my blog on WordPress, hosted on Google Cloud Platform (GCP) and using Cloudflare for my CDN (Content Delivery Network) to bring my content closer to my readers.

My key goals this year have been to update my blog to:

  1. Ensure SSL and HTTPS is working correctly throughout the website to comply with Google’s SEO requirements
  2. Mixed Content is managed (so I am not showing content from both https:// and https:// sources, which affects my SEO)

I faced this error which was unexpected, which I am sure others may face as well.

Updating Failed error message on WordPress 5.2.3

Reasons for why you are seeing the “Updating Failed” error

You may be wondering why suddenly you cannot edit or create new posts. One of the main reason is related to the update that WordPress made when version 5 was made available. That is, WordPress 5.0, 5.1, 5.2 onwards. So if you have recently updated WordPress to latest version you may suddenly notice that you cannot update any posts nor can you publish any new posts or pages. This is mainly related to how WordPress 5’s “Gutenberg editor”.

Ways to solve the “Updating Failed” error on WordPress 5.2.3

Here are some suggested approaches you can explore to help you post again and fix the “Updating Failed” error on your WordPress website.

  1. Clear your browser cache
  2. Run the WordPress Site Health healthcheck plugin and update your WordPress to HTTPS (recommended)
  3. Change to Full SSL on Cloudflare from Flexible SSL
  4. Install the WordPress Classic Editor plug in
  5. Turn off HTTPS for all pages of your WordPress blog while you are editing (not recommended)
  6. Deactivate the security plugins (not recommended)
  7. Changing your permalinks (not recommended)

1. Clear your browser cache

Didn’t work for me, but you can try and see if this helps you

2. Run the WordPress Site Health healthcheck plugin and update your WordPress to HTTPS (recommended)

I tested the Site Health healthcheck using the inbuilt WordPress 5 feature called “Site Health”. This is found under “Tools> Site Health”. It was what solved my problem permanently.

For me, the Site Health said that I was accessing the site via https, but the address in my WordPress> Settings> General setup was still http. I updated this discrepancy and the failures went away. It may differ depending on your set up on how you fix this as well, but the sub-steps below describe my process. I hope it helps!

General settings that is missing the HTTPS:// and has https:// for the website link
Tools> Site Health to check your WordPress health

For advanced users only as this will be technical, and for those using Google Cloud Platform (GCP) and Bitnami as I am, you’ll need to make the following changes via the SSH of your Google Cloud platform.

For those using ngnix for your server you will type these commands:

$sudo nano /opt/bitnami/apps/wordpress/htdocs/wp-config.php
$sudo /opt/bitnami/ restart

For those using apache for your server you will type these commands:

$sudo nano /opt/bitnami/apps/wordpress/htdocs/wp-config.php
$sudo /opt/bitnami/ restart apache

(Optional) You may notice that I was using the “$sudo chmod 660 /opt/bitnami/apps/wordpress/htdocs/wp-config.php” command as well in my screenshot chmod 660 command as that is needed to give my WordPress instance enough memory to run plugins (in may help you in case you haven’t already done so already).

$sudo chmod 660 /opt/bitnami/apps/wordpress/htdocs/wp-config.php are using chmod 660 command as that is needed to give your WordPress instance enough memory to run plugins (in case you haven’t already done so already).

In SSH type these commands to get into the config file
Edit these two lines of code
Save this by using the hotkey selection Control (^) + O on a Mac
Receive a confirmation it has been saved
Check your posts to see if you can edit
Test another post

3. Change to Full SSL from Flexible SSL on Cloudflare

If you are using Cloudflare, you can switch to “Full SSL” mode. You can change this in your SSL/ TLS settings> Overview tab.

4. Install the WordPress Classic Editor plug in

You can also try installing the “Classic Editor” plugin to see if your post are editable. This did not work for me but it is worth testing. This will disable WordPress 5’s “Gutenberg editor” and you can see if that resolves the issue.
Classic Editor plugin at

5. Turn off HTTPS for all pages of your WordPress blog (not recommended)

You can consider turning off HTTPS for all pages of your WordPress blog while you are editing each time though I do not recommend this. As it does mean your website is not secure during these instances.

On Cloudflare, I changed this setting via the Page Rules to test this, you can also do this via the global settings too. For Page Rules For Global settings this is found at: SSL/ TLS > Edge Certificates> Always Use HTTPS.

Changing the Always Use HTTPS via the global site wide settings
Changing the Always Use HTTPS via Page Rules

6. Deactivate the security plugins to fix the “Updating Failed” error on WordPress (not recommended)

Some folks have recommended disabling security plugins but I do not recommend this. Very likely one of the security plugins may be locking your website to SSL (Always use HTTPS settings) or variations around that.

7. Changing your permalinks to fix the “Updating Failed” error on WordPress (not recommended)

This has been suggested by folks but I do not recommend it as it affects your SEO. Since it will change your web links completely so it will take time for your links to update throughout the internet, meaning you will lose your website visitors.

If you are really keen though, you can change this in your WordPress dashboard, under Settings > Permalinks, click on Save changes. Then try to publish your page/post again.

I hope that helps you to get back to what you and I love doing, and that’s writing more posts. Happy blogging! 😉