Operacja addSlaves służy do dodania nowych slave -ów.
Jeśli CNode działa w trybie master (patrz Jak uruchomić?), możemy dodać nowego slave -a (stację umożliwiającą postawienie klona aplikacji) do CNode-mastera, podając go w zapytaniu addSlaves.
W zapytaniu podajemy parę adresów sieciowych – adres wewnętrzny węzła CNode, oraz adres dla połączeń SOAP – zwykle adresy IP będą takie same, tylko porty będą różne. Postęp wykonania operacji oraz rezultat można sprawdzić za pomocą zapytania getTaskStatus. Po poprawnym dodaniu slave -a użytkownik będzie mógł uruchomić na nim kopię swojego węzła CNode.
Przykładowe zapytanie SOAP:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="ns1">
<soapenv:Header/>
<soapenv:Body>
<ns1:addSlaves soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<newSlaves xsi:type="ns1:slaveLocationList">
<!--Zero or more repetitions:-->
<item xsi:type="ns1:slaveLocation">
<soapAddress xsi:type="ns1:ipLocation">
<ip xsi:type="xsd:string">192.168.3.192</ip>
<port xsi:type="xsd:unsignedShort">9600</port>
</soapAddress>
<applicationAddress xsi:type="ns1:ipLocation">
<ip xsi:type="xsd:string">192.168.3.192</ip>
<port xsi:type="xsd:unsignedShort">30200</port>
</applicationAddress>
</item>
</newSlaves>
</ns1:addSlaves>
</soapenv:Body>
</soapenv:Envelope>
Przykładowa odpowiedź SOAP:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ns1">
<SOAP-ENV:Header/>
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ns1:addSlavesResponse>
<return xsi:type="ns1:vuiSoapTaskIdResponse">
<requestStatus>SUCCESS</requestStatus>
<requestStatusDescription>Request succeeded.</requestStatusDescription>
<taskId>0B3LCA6254A12E5GEB0MF4F6LH</taskId>
</return>
</ns1:addSlavesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Parametry zapytania:
Parametr | Typ | Opis | Wymagane? |
newSlaves | slaveLocationList | Lista klonów (slave -ów) do dodania | Tak |
createNewSlaveTaskId | string | Identyfikator zadania, który wywołuje skrypt tworzący slave -a | Tak |
Parametry odpowiedzi:
nazwa | typ | opis |
---|---|---|
taskId | string | identyfikator powstałego zadania |
requestStatusDescription | string | opis statusu |
requestStatus | string | status wykonania zapytania |
Przykładowy JSON w parametrze „additionalInfo” w odpowiedzi na operację „getTaskStatus”:
{ "success": [ { "soapAddress": { "ip": "192.168.3.192", "port": "9600" }, "applicationAddress": { "ip": "192.168.3.192", "port": "30200" }, "machineId": "00001111AAAAFFFF" } ], "failed": [ { "soapAddress": { "ip": "192.168.3.192", "port": "9601" }, "applicationAddress": { "ip": "192.168.3.192", "port": "30201" }, "machineId": "00001111AAAABBBB" } ], "createNewSlaveTaskId": "8VF1305F100KEWS87F3N8UA04C" }