我打算做一個java onvif應用程序。我創建了一個新項目,並從devicemgmt.wsdl生成了源代碼,並從遠程discovery.wsdl生成了這些類。 如何使用這些生成的類在網絡中發現設備? 感謝您的幫助。ONVIF - 設備發現的開始
回答
devicemgmt.wsdl與發現過程無關,ONVIF發現過程基於http://specs.xmlsoap.org/ws/2005/04/discovery它使用基於UDP的SOAP。
如果您正在使用Apache的CXF,這可能是使用實現
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());
}
}
}
什麼可以是原因(我使用cxf)是設備,如果WSDiscoveryClient()發現,但沒有找到像「SmartICRSS」或「Onvifier」的任何生產質量onvif客戶端Android應用程序 – 4ntoine
@ 4ntoine它可能是肥皂版本?你應該問一個問題,給出一些網絡捕獲細節 – mpromonet
你可能是對的。我攔截了發現請求/響應 - 閱讀我單獨的SO問題:http://stackoverflow.com/questions/27191245/how-to-generate-soap-1-2-binding-for-wsdl-using-wsdl2java – 4ntoine
我有同樣的問題,CXF只是大,請檢查我的方法:JavaWsDiscovery https://github.com/thhart/javaWsDiscovery。
它使用一個簡單的網絡探針通過ONVIF標準建議能夠識別你的本地網絡上的任何設備,下面一行將返回所有可用設備:中
final Collection urls = DeviceDiscovery.discoverWsDevicesAsUrls("^http$", ".onvif.");
- 1. 如何在C#中發現onvif設備#
- 2. Onvif設備管理器找不到Onvif設備
- 3. Gsoap,ONVIF和發現
- 4. Android開發設備
- 5. 設備ID與開發設備ID?
- 6. Android中的設備發現
- 7. 移動設備開發
- 8. Google設備前端開發
- 9. 在tizen設備上開發
- 10. 設備爲Android開發
- 11. 爲手持設備開發
- 12. android多設備開發
- 13. 開發到所有設備
- 14. 藍牙不發現設備
- 15. PushNotification - 沒有設備發現
- 16. 無法發現BLE設備
- 17. 發現wifi-direct設備
- 18. 網絡設備發現
- 19. 從設備發現服務
- 20. pyUSB未發現設備
- 21. BlueCove藍牙設備發現
- 22. Android設備可以開始爲設備ID提供空值嗎?
- 23. 從CUDA開始,關於設備代碼
- 24. 開始投會話鑄造設備
- 25. 問題爲ProjectTango開發設備設置開發環境
- 26. 開始對可穿戴設備在C++本地應用開發的Tizen IDE
- 27. 用於Windows設備的跨設備開發 - 多個sdk's?
- 28. 針對多種設備開發的Android
- 29. iPad開發檢測設備的版本
- 30. 沒有設備的iOS越獄開發
可能重複[WS-發現實現爲Java](http://stackoverflow.com/questions/1946206/ws-discovery-implementations-for-java) – mpromonet