Forum Discussion

Mike_Thompson_9's avatar
Mike_Thompson_9
Icon for Nimbostratus rankNimbostratus
Aug 27, 2007

InvalidOperationException - HELP!

I have a SOAP interface which makes calls to the F5 to get data about stats, pools, members, etc. You ask, why write another web service that talks to the F5. Simply because I have simplified a lot of the tasks needed to get the data out of the F5 for different scripts around the company. In other words, they can call my service, pass in a few args and get lots of data back.

 

 

To get back to the point, 90%/95% of the time, this service works. However, the other 5%/10% of the time I get the following:

 

 

System.InvalidOperationException: Client found response content type of 'text/html; charset=iso-8859-1', but expected 'text/xml'.

 

 

Sometimes this happens when calling get_session_status(String[] pool_names) and other times it happens when calling get_monitor_status(String[] pool_names). However, I belive it can happen on any of the functions being called.

 

 

It seems to me that the F5 is choking on the request and throwing an exception back to my service in the form of HTML. However, there is no HTML to read in as part of the exception.

 

 

This is the full exception:

 

 

: GetPoolMemberStatus_Error_InvalidOperationException: System.InvalidOperationException: Client found response content type of 'text/html; charset=iso-8859-1', but expected 'text/xml'.

 

The request failed with the error message:

 

--

 

 

--.

 

at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

 

at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

 

at LocalLB.PoolMember.LocalLBPoolMember.get_session_status(String[] pool_names) in c:\Users\thompsmd\AppData\Local\Temp\Temporary ASP.NET Files\f5manager\0ec0b867\38653d1b\App_WebReferences.5.cs:line 588

 

at WebSvcMgr.GetPoolMbrSession() in C:\My Data\ASP.NET Applications\F5Mgr\App_Code\WebSvcMgr.vb:line 182

 

at WebSvcMgr.GetPoolMbrDetail() in C:\My Data\ASP.NET Applications\F5Mgr\App_Code\WebSvcMgr.vb:line 162

 

at F5Services.GetPoolMemberStatus(String[] inServerNames, Int32 inEnvironmentID) in C:\My Data\ASP.NET Applications\F5Mgr\App_Code\F5Services.vb:line 161

 

 

As you can see, it is dying on ReadResponse.

 

 

Can anyone help here or offer some insight?

15 Replies

  • John, we never did figure out what the problem was. However, the F5 engineer sent me a fairly ellaborate list instructions to follow in order to get additional information. This was never done because the firmware on our DEV F5's was updated and no longer in sync with out CERT and PROD devices. So, the data was never gathered. I may touch base with our network team again and see what version we are on and try the tests again. Perhaps the newer version is more stable from a SOAP perspective. If we find anything, I will let you know...
  • Cool, thanks. I'm seeing these errors with random frequency on 9.1.2HF1, 9.1.2HF8, 9.4.0 and 9.4.2. I'm working on some 9.4.4 upgrades to see if there is any improvement...

     

     

    -J
  • Update:

     

     

    I got this issue to consistently repro, and with the help of F5 Support and F5 Dev we got the issue debugged, fixed, and tested.

     

     

    CR is CR98530 and should be available by-name as an Engfix.

     

     

    -John
  • I use iControl

     

    get performance by

     

    get_performance_graph_csv_statistics

     

     

    Error is

     

    The operation has timed out

     

     

    and use c

     

  • A timeout is different than a 500 error. This implies that the client library is timing out waiting for the HTTP resposne - or in other words, the time required to generate the response from the server is taking longer than the default 30 seconds in the .Net client stack. There are ways to override this but I haven't dug into those classes since the .net 1.5 days so I'm not sure they still work the same way.

     

     

    A short term fix might be to tweak your graphing interval to see if it is truely the amount of data that is the issue or something else.

     

     

    If this persists, then there are limited things we can do to help here and you might have to go through product support.

     

     

    -Joe