Friday, 4 June 2010

Testing Times with Telnet

I've been making heavy use of Telnet these past few weeks to test firewall configurations between various servers in my pair of two-node WAS 6.1 clusters; it's an invaluable resource when trying to find out why the Deployment Manager can't talk to the HTTP server on port 8008 or why the Portal server can't talk to the Connections server via a load balanced URL on port 82.

However, I've found another use case for Telnet today; I was trying to resolve the problem with the Blog portlet not rendering correctly  - sadly still unresolved, and I'd noted that, when the portlet renders, it sends a request: -

GET /profiles/atom/profileService.do HTTP/1.1

to the HTTP server sitting in front of the Connections cluster - I can see this from the IBM HTTP Server's access.log.

Recognising that this is a valid request for the Profiles feature of Connections, as per: -


I wanted to test the connectivity to ensure that Mr Firewall or Mr Connections Authentication ( aka DSX aka Waltz ) was not getting in the way.

So I open up my trusty Telnet client, and invoke: -

telnet connections.demo.uk.ibm.com 82

( where connections.demo.uk.ibm.com is the hostname of the Load Balancer sitting in front of IBM HTTP Server and 82 is the port on which this particular instance of IHS listen )

This returns: -

Trying 192.168.2.4...
Connected to connections.demo.uk.ibm.com
Escape character is '^]'.

at which point I type: -

GET /profiles/atom/profileService.do?email=david_hay%40uk.ibm.com HTTP/1.1
Host: localhost

which asks Profiles for the service document for my user ID, which returns something similar to this: -

<?xml version="1.0"?><service xmlns="http://www.w3.org/2007/app"><generator xmlns="http://www.w3.org/2005/Atom" version="2.5" uri="http://www.ibm.com/xmlns/prod/sn">Lotus Connections - Profiles</generator><workspace><title xmlns="http://www.w3.org/2005/Atom" type="text">Dave Hay</title><collection href="http://connections.demo.uk.ibm.com:82/profiles/atom/profile.do?email=david_hay%40uk.ibm.com&amp;output=vcard"><title xmlns="http://www.w3.org/2005/Atom" type="text">Dave Hay</title><userid xmlns="http://www.ibm.com/xmlns/prod/sn">f93cd940-0337-102f-8e02-b58181081372</userid><editableFields xmlns="http://www.ibm.com/xmlns/prod/sn"><editableField name="groupwareEmail"></editableField><editableField name="bldgId"></editableField><editableField name="mobileNumber"></editableField><editableField name="experience"></editableField><editableField name="pagerNumber"></editableField><editableField name="telephoneNumber"></editableField><editableField name="officeName"></editableField><editableField name="description"></editableField><editableField name="extattr.profileLinks"></editableField><editableField name="floor"></editableField><editableField name="faxNumber"></editableField><editableField name="timezone"></editableField><editableField name="blogUrl"></editableField><editableField name="jobResp"></editableField><editableField name="ipTelephoneNumber"></editableField><editableField name="secretaryUid"></editableField></editableFields></collection><link xmlns="http://www.w3.org/2005/Atom" href="http://connections.demo.uk.ibm.com:82/profiles/atom/profileTags.do?targetKey=96074539-b189-4714-bcc7-23da
.....


Is that nice or what ?

Thanks to this for some useful tips on Telnet

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...