Forum Discussion

_GM__76130's avatar
_GM__76130
Icon for Nimbostratus rankNimbostratus
Apr 11, 2011

The requested monitor rule (xxxx) can only be applied to pool members.

Hello everyone;

 

 

 

I am trying to invoke the set_monitor_association call on a pool-member via a SOAP call, but keep getting:

 

 

 

The requested monitor rule (xxxx) can only be applied to pool members.

 

 

 

For the life of me I can't figure out where I am going wrong. From what I can tell, the SOAP call follows the criteria set forth in the "set_monitor_association" documentation and 10.10.0.8/80 is a member of the pool "p". Any pointers would greatly be appreciated!

 

 

 

The SOAP Request looks as follows:

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

ATYPE_EXPLICIT_ADDRESS

 

 

10.10.0.80

 

80

 

 

 

 

MONITOR_RULE_TYPE_SINGLE

 

1

 

 

https

 

 

 

 

 

 

 

 

 

 

 

 

 

The error I am getting back is as follows:

 

 

 

 

 

 

 

SOAP-ENV:Server

 

Exception caught in LocalLB::urn:iControl:LocalLB/PoolMember::set_monitor_association()

 

Exception: Common::OperationFailed

 

primary_error_code : 17237384 (0x01070588)

 

secondary_error_code : 0

 

error_string : 01070588:7: The requested monitor rule (https) can only be applied to pool members.

 

 

 

 

 

 

 

 

 

 

 

 

Thanks everyone!

 

 

 

Cheers,

 

 

 

 

 

R.

 

  • What toolkit are you using to generate this request. I don't see the correct array references for the encoding method we are using. I generated a call with the Perl SOAP::Lite toolkit and this worked for me:

    SOAPAction: "urn:iControl:LocalLB/PoolMemberset_monitor_association"
    < ?xml version="1.0"encoding="UTF-8"?>
    < soap:Envelope
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      < soap:Body>
        < set_monitor_association xmlns="urn:iControl:LocalLB/PoolMember">
          < pool_names soapenc:arrayType="xsd:string[1]" xsi:type="soapenc:Array">
            < item xsi:type="xsd:string">catbert-http< /item>
          < /pool_names>
          < monitor_associations soapenc:arrayType="soapenc:Array[1]" xsi:type="soapenc:Array">
            < item soapenc:arrayType="xsd:anyType[1]" xsi:type="soapenc:Array">
              < item>
                < member>
                  < ipport>
                    < address xsi:type="xsd:string">10.10.10.148< /address>
                    < port xsi:type="xsd:int">80< /port>
                  < /ipport>
                  < address_type xsi:type="xsd:string">ATYPE_EXPLICIT_ADDRESS_EXPLICIT_PORT< /address_type>
                < /member>
                < monitor_rule>
                  < type xsi:type="xsd:string">MONITOR_RULE_TYPE_SINGLE< /type>
                  < quorum xsi:type="xsd:int">0< /quorum>
                  < monitor_templates soapenc:arrayType="xsd:string[1]" xsi:type="soapenc:Array">
                    < item xsi:type="xsd:string">http< /item>
                  < /monitor_templates>
                < /monitor_rule>
              < /item>
            < /item>
          < /monitor_associations>
        < /set_monitor_association>
      < /soap:Body>
    < /soap:Envelope>

    Hope this helps...

  • Thanks Joe;

     

     

    I am using SoapUI to test the SOAP calls. Aside from the name of some of the elements, I really don't see any difference between our SOAP calls; our structure is essentially the same except for the fact I have the elements describing my Array structures called something other than "< item/ >"

     

     

     

    I am getting the same error when using your SOAP-Call format .. :(

     

     

     

     

     

  • Interesting; I think I have found the issue.

     

     

     

    I am new to these types of appliances, so forgive me if this is supposed to be common knowledge (I am learning as I go), but I get this error when setting the Address-Type to either ATYPE_STAR_ADDRESS or ATYPE_EXPLICIT_ADDRESS.

     

     

     

    When I use ATYPE_STAR_ADDRESS_STAR_PORT, ATYPE_STAR_ADDRESS_EXPLICIT_PORT or ATYPE_EXPLICIT_ADDRESS_EXPLICIT_PORT, both calls (yours as well as mine) work.

     

     

     

     

     

    R.

     

  • Thanks [GM]. Your question and especially your answer saved our virtual butts today.