Получилось вот таким образом:
QtSoapHttpTransport http;
http.setHost("IP address");
QtSoapMessage request;
request.setMethod("GetDeviceInformation", "http://www.onvif.org/ver10/device/wsdl");
http.submitRequest(request, "/onvif/device_service");
...
const QtSoapMessage &message = http.getResponse();
const QtSoapType &response = message.method(); //в документации было getResponse() -- не работает
QString output(QString("Manufacturer: %1<br>Model: %2<br>FirmwareVersion: %3<br>SerialNumber: %4<br>HardwareId: %5")
.arg(response[0].toString())
.arg(response[1].toString())
.arg(response[2].toString())
.arg(response[3].toString())
.arg(response[4].toString()));
// указанный в примерах способ индексации по имени a-la response["Manufacturer"] тоже не срабатывает