如何解决使用 ONVIF 库的简单对象访问协议 (SOAP) 连接为 NULL
我正在尝试使用 ONVIF 库和 JAVA 中的示例代码连接到相机 code copied from here
当我尝试连接到相机时,它在初始化时出错
OnvifDevice nvt = new OnvifDevice("172.16.20.37","admin","password");
错误是
Unexpected response. Response should be from class class org.onvif.ver10.device.wsdl.GetCapabilitiesResponse,but response is: null
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "javax.xml.soap.soAPConnection.close()" because "soapConnection" is null
at de.onvif.soap.soAP.createSOAPRequest(SOAP.java:137)
at de.onvif.soap.devices.InitialDevices.getCapabilities(InitialDevices.java:141)
at de.onvif.soap.OnvifDevice.init(OnvifDevice.java:149)
at de.onvif.soap.OnvifDevice.<init>(OnvifDevice.java:89)
at de.onvif.Main.main(Main.java:117)
我的代码如下
package de.onvif;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ConnectException;
import java.util.List;
import javax.xml.soap.soAPException;
import org.onvif.ver10.schema.Profile;
import de.onvif.soap.OnvifDevice;
import java.net.ConnectException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.xml.soap.soAPException;
import de.onvif.soap.OnvifDevice;
public class Main
{
public static void main(String[] args)
{
try
{
OnvifDevice nvt = new OnvifDevice("172.16.20.37","password");
Date nvtDate = nvt.getDevices().getDate();
System.out.println(new SimpleDateFormat().format(nvtDate));
}
catch (ConnectException e)
{
System.err.println("Could not connect to NVT.");
}
catch (SOAPException e) {
e.printstacktrace();
}
}
}
谁能指导我解决什么问题?它与 ONVIF 或 JAVA 代码或任何其他依赖项?任何帮助将不胜感激。使用 ONVIF 设备管理器(使用相同的用户和密码),设备运行良好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。