Forum Discussion
schmuck
May 02, 2018Nimbostratus
Hi Guys, You might have figured this out by now, but the MI upgrade has changed the way Tomcat is processing the send data. In the iRule for the iApp, the send data looks like this:
set send_data {
GET /api/v2/devices?adminDeviceSpaceId=1&fields=common.uuid%2Ccommon.status&query=\%22${conn_method}\%22%3D\%22${conn_mac}\%22AND%22common.status%22%3D%22Active%22 HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
User-Agent: F5-APM-sideband/1.0
Host: ${static::iAPP_NAME_mi_host}
Connection: Keep-Alive
Authorization: Basic [b64encode "${static::iAPP_NAME_mi_apiuser}:${static::iAPP_NAME_mi_apipassword}"]
(The iRule might actually be still on v1, I can't remember). But the issue is with the above formatting. Tomcat actually rejects that initial line feed after the
send_data {
. So, you need to reformat the above request as follows:
set send_data {GET /api/v2/devices?adminDeviceSpaceId=1&fields=common.uuid%2Ccommon.status&query=\%22${conn_method}\%22%3D\%22${conn_mac}\%22AND%22common.status%22%3D%22Active%22 HTTP/1.1\r\nAccept: text/html, application/xhtml+xml, */*\r\nUser-Agent: F5-APM-sideband/1.0.......and on and on...\r\n\r\n}
Basically, the request needs to all be on one line with no preceding line feeds. This works with 9.6 and 9.7 that we know of.
(You also need to change what you are looking for in the returned data as MI has changed that with the v2 API)