Tuesday, 22 January 2013

More on the AJAX Proxy and the REST Services Gateway in IBM Business Space 8.0.1

Following on from my earlier post: -

Testing the AJAX Proxy in WebSphere Application Server 8.0

I did see some issues with the AJAX Proxy, when I tried to add and configure a KPIs widget to Business Space ( I'm using IBM Business Monitor 8.0.1 on WAS ), including the following exceptions in SystemOut.log: -

[1/22/13 15:16:06:133 GMT] 00000026 URLConnection W   BMWPX0011W: The Ajax proxy has been enabled to support unsigned Secure Sockets Layer (SSL) certificates: mapping=/proxy, policy=null
[1/22/13 15:16:06:166 GMT] 00000026 AjaxProxyServ W   BMWPX0024W: An unexpected problem occurred while processing the response data.
                                 java.net.SocketException: Connection reset
[1/22/13 15:16:06:193 GMT] 00000026 servlet       E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0014E: Uncaught service() exception root cause mmOSGI: com.ibm.mm.proxy.exceptions.LocalizedProxyIOException: BMWPX0024W: An unexpected problem occurred while processing the response data.
Caused by: java.net.SocketException: Connection reset
[1/22/13 15:16:06:328 GMT] 00000026 webapp        E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[mmOSGI]: com.ibm.mm.proxy.exceptions.LocalizedProxyIOException: BMWPX0024W: An unexpected problem occurred while processing the response data.
Caused by: java.net.SocketException: Connection reset


When I checked the exception that I was seeing in the widget: -

it looked like the iWidget was using the AJAX Proxy, but was going to the following URL: -

In my environment, IHS is configured for SSL only, and is listening on port 8443.

In other words, I was accessing Business Space via the right protocol/port combination ( HTTPS to 8443 ), but the iWidget was trying to go to the same SSL port ( 8443 ) using the HTTP protocol.

Something made me think that this might be a problem with the REST endpoints.

I checked that in the WAS Integrated Solutions Console (ISC) via the following path: -

Services -> REST services -> REST services

and could see: -

Therefore, the REST endpoints were configured for the RIGHT port ( 8443 ) but the WRONG protocol ( HTTP ).

I changed this as follows: -

Services -> REST services -> REST service providers -> REST Services Gateway

and changed from this: -

to this: -

Having done this, I shut down and restarted my four clusters: -

and now I see a much more meaningful "exception": -

which is 100% accurate, as I have no KPIs defined yet :-)

No comments: