Forum Discussion

Jim_Hutson_1022's avatar
Jim_Hutson_1022
Icon for Nimbostratus rankNimbostratus
Apr 11, 2007

Access iControl Web Services Using MS Soap Toolkit

We have a large ASP (old-school ASP, not ASP.NET) codebase and would like to be able to clear cache entries in the bigip from an existing ASP tool that we have. Is it possible to use Microsoft's Soap Toolkit to access the iControl web services? I'm getting a really weird problem with bad characters in the SOAP response from iControl. I'm not concerned with the actual fault string in this response as we know we'll be able to get through that. I'm specifically concerned with the bogus "1fc" characters at the beginning of the response and the bogus "0" between two close tags near the end of the response. The soap toolkit seems to be especially intolerant of these superfluous characters and I'm not sure how to "pre-process" the raw response so that it can be parsed correctly. Please see the attached request and response. I can attach the soap headers as well if you'd like.

 

 

thanks,

 

jim hutson

 

director, applications development

 

pcworld communications

2 Replies

  • From what I remember about the SOAP toolkit, there were a bunch of issues with compatibility in various web services. Before .NET came out, we did do some testing with it, but that was over 4 years ago and I do believe that MS has stopped support for that toolkit (not that that helps you...)

     

     

    With that being said, I can almost guarantee that those bogus values are not returned as part of the payload from the iControl endpoints. If you can run a protocol trace, I'd be very interested in seeing the entire HTTP Request and Response. From that I can determine what's going on and whether or not it's an issue with the iControl components or the MS Soap toolkit's handling of the fault.

     

     

    It looks to me as if you are submitting the request without proper authentication (thus the "User '' is not authorized). This will return a SOAP::Fault with a HTTP status code of 500. It could be that the SOAP toolkit doesn't handle 500 responses that well. It could also be an issue with the SOAP Toolkits handling of SSL based web service calls.

     

     

    If you can get me the protocol trace, I'll be able to help out further. Otherwise if all else fails, you could custom build a HTTP POST with the correct iControl method call as the payload and use the standard HTTP methods to send it.

     

     

    I'll see if I can find the SOAP toolkit out there and reproduce this issue as well...

     

     

    -Joe
  • thanks for the quick response on this. I'm using the MS Soap Toolkit 3.0, which is fairly recent (but deprecated nonetheless i think). I've been able to work around the user auth issue, so i'm no longer getting this particular faultstring. I can provide a full trace using the Trace Utility that came with the toolkit, but what i've attached is exactly what the utility is outputting (except for the request and response headers. That aside, the thing I'm trying to work through now is passing complex types to the web service. I'm able to run the attached code to call the LocalLBRAMCache::get_version() method. But as soon as i try to evict or get info on entries, i get "incorrect type" errors, presumably because the cache key is a complex type. Other than these speedbumps, i have to say that using the ms soap toolkit has been incredibly easy (just check out the 5 lines of code). I'll try to attach my working sample code.