Bir java onvif uygulaması yapmayı planlıyorum. Yeni bir proje oluşturdum ve devicemgmt.wsdl dosyasından kaynaklar ürettim.Ayrıca uzak discovery.wsdl sınıflarını oluşturdum. Bir ağdaki bir cihazı, oluşturulan sınıfları kullanarak nasıl keşfedebilirim? Yardımlarınız için teşekkürler.ONVIF - Cihaz bulmanın başlangıcı
cevap
devicemgmt.wsdl, discovery işlemiyle ilişkili değil, ONVIF bulma işlemi, http://specs.xmlsoap.org/ws/2005/04/discovery tabanlı olup UDP üzerinden SOAP kullanmaktadır. Eğer apache-CXF kullanıyorsanız
, bu kullanarak elde olabilir
Basit örnek kod olabilir
org.apache.cxf.ws.discovery.WSDiscoveryClient:
import java.util.List;
import javax.xml.ws.EndpointReference;
import org.apache.cxf.ws.discovery.WSDiscoveryClient;
public class Main
{
public static void main(String[] args)
{
WSDiscoveryClient client = new WSDiscoveryClient();
client.setVersion10(); // use WS-discovery 1.0
client.setDefaultProbeTimeout(1000); // timeout 1s
System.out.println("Probe:" + client.getAddress());
List<EndpointReference> references = client.probe();
System.out.println("Nb answsers:" + references.size());
for (EndpointReference ref : references)
{
System.out.println(ref.toString());
}
}
}
WSDiscoveryClient() tarafından bulunursa, (cxf kullanıyorum) sebebi ne olabilir? ama "SmartICRSS" veya "Onvifier" android uygulaması – 4ntoine
@ 4ntoine gibi herhangi bir üretim kalitesinde onvif istemcisi tarafından bulunamadı sabun versiyonu olabilir? Ağ yakalama ayrıntılarını – mpromonet
veren bir soru sormalısınız, muhtemelen haklısınız. keşif isteklerini/yanıtlarını yakaladım - ayrı SO soruyu oku: http://stackoverflow.com/questions/27191245/how-to-generate-soap-1-2-binding-for-wsdl-using-wsdl2java – 4ntoine
Aynı sorun vardı, CXF sadece büyüktür, lütfen yaklaşımımı kontrol edin: JavaWsDiscovery at https://github.com/thhart/javaWsDiscovery.
yerel ağ üzerindeki herhangi cihazları tanımlamak için muktedir ONVIF standartlarına göre önerilen gibi çizgi izleyen size mevcut tüm cihazları dönecektir, basit bir ağ prob kullanır: ait
final Collection urls = DeviceDiscovery.discoverWsDevicesAsUrls("^http$", ".onvif.");
- 1. C# cihazlarında onvif cihazları nasıl bulunur? #
- 2. VBA şüphe başlangıcı
- 3. Hadoop'ta Kayıt Başlangıcı Çalışması
- 4. Tepki başlangıcı ES2016
- 5. Zaman havza bulmanın karmaşıklığı
- 6. iPhone simülatörünün cihaz kimliğini nasıl kontrol edebilirim?
- 7. Mobil cihaz, mobil olmayan cihaz olarak algılandı
- 8. Cihaz Yöneticisi API'sı, cihaz sahibi nasıl olunur?
- 9. Numara modunda TextField Klavye başlangıcı
- 10. Ruby regexp'deki satırın yalnızca başlangıcı
- 11. sql - Günün başlangıcı, ay vb
- 12. Tensorflow hizmeti yeniden başlangıç başlangıcı
- 13. Tablet: oryantasyona geçişte sayfa başlangıcı
- 14. ONVIF protokolünü destekleyen Network IP kameradan canlı yayın alın.
- 15. Bluetooth kütüphanesi eşleşme olmaksızın bir cihaz konumuna ulaşmak için
- 16. Bu cihaz çevrimiçi değil
- 17. UIWebView, cihaz ekranına uymuyor
- 18. cihaz işlev işaretçileri
- 19. Android Cihaz Monitör mac
- 20. CoreAudio: Cihaz hacmine
- 21. UILocalNotification cihaz kilitliyken tetiklenmiyor
- 22. cihaz hiç mapkit
- 23. Ağda cihaz nasıl algılanır?
- 24. Başlangıcı programlanabilir tamamlama ile koşullu sonlandırma alanı
- 25. Windows hizmetleri arasında bağımlılık yaratma başlangıcı
- 26. Docker konteyner başlamıyoruz (liman işçisi başlangıcı)
- 27. Neden yılın başlangıcı Moment.js 31 Aralık'ta?
- 28. UUID Dizesi Başlangıcı olup olmadığını kontrol etme
- 29. En içteki istisnayı bulmanın doğru yolu?
- 30. Sayısal dizide modu bulmanın en verimli yolu
olası yinelenen [WS Java için Keşif Uygulamaları] (http://stackoverflow.com/questions/1946206/ws-discovery-implementations-for-java) – mpromonet