Forum Discussion
Michael_57183
Nimbostratus
Feb 06, 2012set Session Status using LocalLB::SessionStatus
Hi, I'm trying to set a node's session status using the iControl API on a BIGIP v11.1.0 server. Looking through the API documentation, I found LocalLB::Pool::set_member_session_en...
Bencheng31_1149
Nimbostratus
Jun 24, 2013I am a beginner on doing perl scirpt using iControl, I am trying to modify a perl script poolToggle.pl download from F5 DevCentral samples with replacing the methods deprecated in v11.0, "set_member_session_enabled_state" is one of the methods I used to replace the "set_session_enabled_state". As there is one more parameter "members" required, I have used "get_member_v2" method to return the member list from the pool. And I am encountering error "Cannot convert a struct to a string" when the scripting running at below sub routine.
error message: SOAP-ENV:Server Cannot convert a struct to a string.
I have added some print actions for indicating the point of failure, and it should be at set_member_session_enabled_state, would you kindly help to advise how to fix the error? Many thanks.
==============
sub setPoolMemberStates()
{
my ($pool, $state) = (@_);
Get a list of pool members
$soapResponse = $Pool->get_member_v2
(
SOAP::Data->name(pool_names => [$pool])
);
&checkResponse($soapResponse);
@member_lists = @{$soapResponse->result};
print "got member lists";
Extract the 1st list for the single pool passed in.
@member_list = @{@member_lists[0]};
build parameters for set_session_enabled_state();
foreach $member_def (@member_list)
{
$address = $member_def->{"address"};
$port = $member_def->{"port"};
$member = { address => $address, port => $port };
$MemberSessionState =
{
member => $member,
session_state => $state
};
push @MemberSessionStateList, $MemberSessionState;
}
push @MemberSessionStateLists, [@MemberSessionStateList];
print "members session state array built";
Set the session enabled state
$soapResponse = $Pool->set_member_session_enabled_state
(
SOAP::Data->name(pool_names => [$pool]),
SOAP::Data->name(members => [@member_lists]),
SOAP::Data->name(session_states => [@MemberSessionStateLists])
);
&checkResponse($soapResponse);
print "session state done";
build parameters for set_monitor_state();
foreach $member (@member_list)
{
$MemberMonitorState =
{
member => $member,
monitor_state => $state
};
push @MemberMonitorStateList, $MemberMonitorState;
}
push @MemberMonitorStateLists, [@MemberMonitorStateList];
print "action on monitror state";
set the monitor state
$soapResponse = $Pool->set_member_monitor_state
(
SOAP::Data->name(pool_names => [$pool]),
SOAP::Data->name(members => [@member_lists]),
SOAP::Data->name(monitor_states => [@MemberMonitorStateLists])
);
&checkResponse($soapResponse);
}
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects