背景:
我正在做一个C#windows窗体应用程序,使用上ONVIF网站给出的WSDL ONVIF摄像机通信。
https://www.onvif.org/ver10/media/wsdl/media.wsdl
和
https://onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl
我能够让相机上的配置文件,发送PTZ动作多了,但是当我试图让状态ptzClient
我创造,我得到的错误:
Error in deserializing body of reply message for operation 'GetStatus'
我看着这个错误找到的的InnerException:
The string '1532531507' is not a valid AllXsd value.
下面是我如何创建我ptzClient:
ServicePointManager.Expect100Continue = false;
var commonEncoding = new TextMessageEncodingBindingElement
{
MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None)
};
var commonBinding = new HttpTransportBindingElement
{
AuthenticationScheme = AuthenticationSchemes.Digest
};
var commonCustomBinding = new CustomBinding(commonEncoding, commonBinding);
var commonPasswordDigestBehavior = new PasswordDigestBehavior(userName, password);
var ptzEndpointAddress = new EndpointAddress($"http://{cameraAddress}/onvif/ptz");
ptzClient = new PTZClient(commonCustomBinding, ptzEndpointAddress);
ptzClient.Endpoint.EndpointBehaviors.Add(commonPasswordDigestBehavior);
调用这行代码时发生错误:
var p = ptzClient.GetStatus(profile.token);
当我去看看我的XML请求,并在Wireshark中其相应的XML响应,我看到有没有错误:
题 :
如何管理,使没有得到这些错误此通话吗?
没有多少我可以改变...
看来这个问题是从日期格式,但我不明白的方式来改变这种格式。