Forum Discussion
Chris_Bolt_1572
Nimbostratus
Feb 24, 2009MemberMonitorStateSequenceSequence corrupted in SoapClient call
Using PHP's SoapClient to attempt to disable a pool member:
$baseurl = "https://lb01/iControl/iControlPortal.cgi";
$s = new SoapClient("$baseurl?WSDL=LocalLB.PoolMember", array(
'location' => $baseurl,
'login' => 'login',
'password' => 'password',
'trace' => true,
));
$pools = array('web_backend_http');
$member = (object)array('address' => '10.0.1.1', 'port' => 80);
$states = (object)array('member' => $member, 'monitor_state' => 'STATE_DISABLED');
var_dump($s->set_monitor_state($pools, array($states)));
var_dump($s->__getLastRequest());
var_dump($s->__getLastResponse());
?>
The set_monitor_state() call returns null. When I look at what's being sent in the request, the second parameter to the soap call, with the states, is being corrupted somehow:
xmlns:ns1="urn:iControl:LocalLB/PoolMember"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="urn:iControl"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
web_backend_http
xsi:type="ns2:LocalLB.PoolMember.MemberMonitorStateSequenceSequence">
- Chris_Bolt_1572
Nimbostratus
Apparently it required one more level of array-ness for the $states.var_dump($s->set_monitor_state($pools, array(array($states))));
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