Hi,
I am developing python program that is using zeep to create Client for SOAP requests.
I followed the following steps in retrieving the camera status changes, patterned from StatusDemoConsole:
-
Generate Soap Token
-
Start session
-
Subscribe CameraDeviceStatus
-
Poll status using GetStatus
-
Close session
I have 3 cameras, and subscribed in all cameras.
However, the response from GetStatus always returned 1 CameraDeviceStatus in CameraDeviceStatusArray
I also tried GetCurrentDeviceStatus, still returned only 1 CameraDeviceStatus in CameraDeviceStatusArray
I tried testing it in Postman but returns as expected 3 CameraDeviceStatuses, since it subscribed in all 3 cameras.
cameraIds = ['8c4f7697-1909-4a84-b1cf-8468a7c45e30', '59de063e-6e87-4db7-9109-95f5b962ca42']
uri = urlparse(webServerUri)
recorder_status = Client(f"{uri.scheme}://{uri.hostname}:{uri.port}/RecorderStatusService/RecorderStatusService2.asmx?wsdl")
status_session = recorder_status.service.StartStatusSession(token=token)
recorder_status.service.SubscribeDeviceStatus(token=token, statusSessionId=status_session, deviceIds=cameraIds)
while True:
statuses = recorder_status.service.GetStatus(token=token,
statusSessionId=status_session,
millisecondsTimeout=5000)
print(f"CameraDeviceStatusArray {len(statuses.CameraDeviceStatusArray)}") #Here always returns 1 CameraDeviceStatus only
Any thoughts on this? Thanks
The StatusDemoConsole is not working from our machine, the error is “Could not logon to management server”