Where to get Google Pixel 4 and Google Pixel 4 XL in Singapore

If you are looking to get your hands on the new Google Pixel 4 phones in Singapore. You will be able to preorder and buy a Pixel 4 phone from 26th October 2019.

You will be able to buy the Google Pixel 4 phones in Singapore from the following places:

*Note – Starhub is exclusively selling Google Pixel 4 phones this year (last year Singtel was the exclusive reseller of Google Pixel 3 phones).

Google Pixel 4 Pricing in Singapore

Overall pricing for the Google Pixel 4 and Google Pixel 4 XL phones are currently being quoted as:

  • Google Pixel 4 will be S$1169 in 64GB and S$1269 in 128GB
  • Google Pixel 4 XL (larger size screens) will cost S$1319 in 64GB and S$1469 in 128GB

Google Pixel 4 pre-order/ pre-release specials

Current resellers are offering preorder specials for the Google Pixel 4 phones before their official release in Singapore on the 26th October 2019. Here are previews of the current specials captured from their websites online.

  • Challenger – “Free Google Nest Hub (worth S$139) + Free pair of Gold Class Movie vouchers (worth S$54)” – Challenger hachi.tech website
  • Courts – “Preorder and get one of these free gifts
    • Google Nest Hub
    • Google Store S$100 voucher
    • Wireless Earphone worth S$129
    • Free 3-month extended warranty
    • (Limited to the first 250 customers only – preorder period: 16th to 23rd Oct 2019)” – Courts website
  • Google Store online – “Get a S$200 promotional code (after purchase) to spend on the Google Store with a pre-order or purchase of Google Pixel 4 and Google Pixel 4 XL. Promotion ends 24 October 2019 at 11:59pm SGT”. – Google Store website
  • Starhub – “Coming to Starhub on 26 October 2019, you can enjoy extra 10GB monthly for 2 years with sign-up to our #hellochange mobile plans. Save S$15.35/ month with FREE Caller Number Display and International Roaming forever. Plus, get FREE weekend data when you shop online!” – Starhub website

Here are previews of their current preorder offers below:

Pixel 4 preorder promotion from Courts
Pixel 4 preorder promotion from Courts
Pixel 4 preorder promotion from Challenger
Pixel 4 preorder promotion from Challenger
Pixel 4 preorder promotion from Starhub
Pixel 4 preorder promotion from Starhub

StarHub is the sole telco to launch Google Pixel 4 and Pixel 4 XL for Singapore customers.

Starting Saturday, 26 October 2019, customers will be able to buy Google Pixel 4 and Pixel 4 XL at $0 upfront cost with StarHub’s #HelloChange mobile plans. They will be able to pay for their new phone over 24 months through their StarHub monthly bills.

Google Pixel 4 and Pixel 4 XL will be available for purchase through StarHub Online Store at www.starhub.com/pixel-4 or at StarHub Shops. Online Exclusive: Customers who buy through StarHub Online Store will get an exclusive mobile plan benefit – free surfing every weekend on StarHub’s superfast mobile network at no additional charge. These customers will also enjoy free home delivery.

Customers on StarHub’s #HelloChange mobile plans enjoy the best value and simplicity. On top of having extra-large data bundles, customers get free caller ID forever and complete freedom from hidden activation, registration and SIM card fees as imposed by competitor brands.

Source: Starhub: https://www.starhub.com/about-us/newsroom/2019/october/starhub-only-telco-google-pixel-4.html

Google Pixel 4 reseller previews from their online stores

Here are screenshots from the current online stores in Singapore selling the Google Pixel 4 and Google Pixel 4 XL phones: Challenger, Courts, Google Store and Starhub.

Challenger/ Hachi.tech
Starhub (exclusive telecom reseller)

Google Pixel 4 from Courts
Google Pixel 4 from Courts
Google Store online

I hope you helps you work out where you can your hands on a Google Pixel 4 phone to enjoy!

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.

W3.org
Source: https://www.w3.org/TR/wsdl.html#_wsdl

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 http://www.holidaywebservice.com/

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 – http://www.holidaywebservice.com/ServicesAvailable_HolidayService2_HolidayCode-Object.aspx

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 soapui.org/downloads/soapui.html

Step 1 – Create New SOAP Project in SOAP UI

  • Project name: Holiday Web Service Testing
  • Initial WSDL endpoint link: http://www.holidaywebservice.com//HolidayService_v2/HolidayService2.asmx?wsdl
  • 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="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hs="http://www.holidaywebservice.com/HolidayService_v2/">
 <soapenv:Body>
 <hs:GetHolidaysAvailable>
 <hs:countryCode>IrelandRepublicOf</hs:countryCode>
 </hs:GetHolidaysAvailable>
 </soapenv:Body>
</soapenv:Envelope>

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

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hs="http://www.holidaywebservice.com/HolidayService_v2/">
 <soapenv:Body>
 <hs:GetHolidaysAvailable>
 <hs:countryCode>UnitedStates</hs:countryCode>
 </hs:GetHolidaysAvailable>
 </soapenv:Body>
</soapenv:Envelope>

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.

References:

Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language, https://www.w3.org/TR/wsdl20/

You will also find a summary of these additional operations supported by this Web service available here – http://holidaywebservice.com/HolidayService_v2/HolidayService2.asmx and http://www.holidaywebservice.com/ServicesAvailable_HolidayService2.aspx.

https://www.w3.org/TR/wsdl.html#_wsdl

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 www.dejavuguides.com 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 https://dejavuguides.com/wp-admin 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 https://www.dejavuguides.com/wp-content/….

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).

  • https://www.dejavuguides.com/wp-content/uploads/2019/02/google-service-center-hours-1024×768.jpg vs
  • https://35.230.0.44/wp-content/uploads/2019/02/google-service-center-hours-1024×768.jpg)
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!