2014-11-28 1 views
1

Java를 사용하여 ONVIF 사양을 지원하기 위해 카메라 펌웨어에서 작업 중입니다. 서비스를 실행하기 위해 Apache CXF를 사용하고 있습니다. remotediscovery.wsdldevicemngmt.wsdl을 가져 와서 서비스를 만들었습니다.검색 중에 Onvif 장치 (카메라)를 찾을 수 없습니다.

Starting Server 
[Fatal Error] addressing:2:2: The markup in the document following the root element must be well-formed. 
28.11.2014 16:01:12 org.apache.cxf.service.factory.ReflectionServiceFactoryBean isEmptywsdl 
28.11.2014 16:01:12 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass 
INFO: Creating Service {http://www.onvif.org/ver10/network/wsdl}DiscoveryService from class org.onvif.ver10.network.wsdl.DiscoveryLookupPort 
28.11.2014 16:01:13 org.apache.cxf.endpoint.ServerImpl initDestination 
INFO: Setting the server's publish address to be http://localhost:8080/onvif/device_service 
28.11.2014 16:01:13 org.eclipse.jetty.server.Server doStart 
INFO: jetty-8.1.15.v20140411 
28.11.2014 16:01:13 org.eclipse.jetty.server.AbstractConnector doStart 
INFO: Started [email protected]:8080 
28.11.2014 16:01:13 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL 
INFO: Creating Service {http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Discovery from WSDL: classpath:/org/apache/cxf/ws/discovery/wsdl/wsdd-discovery-1.1-wsdl-os.wsdl 
28.11.2014 16:01:13 org.apache.cxf.endpoint.ServerImpl initDestination 
INFO: Setting the server's publish address to be soap.udp://239.255.255.250:3702 
28.11.2014 16:01:13 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass 
INFO: Creating Service {http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}DiscoveryProxy from class org.apache.cxf.jaxws.support.DummyImpl 
Starting Server 
28.11.2014 16:01:31 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL 
INFO: Creating Service {http://www.onvif.org/ver10/device/wsdl}DeviceService from WSDL: /tmp/wsdl/devicemgmt.wsdl 
28.11.2014 16:01:51 org.apache.cxf.endpoint.ServerImpl initDestination 
INFO: Setting the server's publish address to be http://localhost:8080/onvif/DeviceService/device 
Starting Server 
[Fatal Error] addressing:2:2: The markup in the document following the root element must be well-formed. 
28.11.2014 16:01:58 org.apache.cxf.service.factory.ReflectionServiceFactoryBean isEmptywsdl 
28.11.2014 16:01:58 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass 
INFO: Creating Service {http://www.onvif.org/ver10/network/wsdl}DiscoveryService from class org.onvif.ver10.network.wsdl.RemoteDiscoveryPort 
28.11.2014 16:01:58 org.apache.cxf.endpoint.ServerImpl initDestination 
INFO: Setting the server's publish address to be http://localhost:8080/service/DiscoveryService/discovery 
Server ready... 

내가 CXF WSDiscoveryClient를 사용하여 테스트 한 그들이 찾을 수 있습니다 :

16 clients found 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EndpointReference xmlns="http://www.w3.org/2005/08/addressing"><Address>http://localhost:8080/onvif/device_service</Address><ReferenceParameters/></EndpointReference> 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EndpointReference xmlns="http://www.w3.org/2005/08/addressing"><Address>http://localhost:8080/onvif/DeviceService/device</Address><ReferenceParameters/></EndpointReference> 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EndpointReference xmlns="http://www.w3.org/2005/08/addressing"><Address>http://localhost:8080/service/DiscoveryService/discovery</Address><ReferenceParameters/></EndpointReference> 
... 

하지만 '할 수

나는 SOAP의 UDP에 대한 서비스가 실행 중인지 확인하고 바운드 해요 SmartICRSS 또는 ONVIF 클라이언트를 사용하는 장치를 보지 마십시오.

무엇이 잘못 되었나요? 내 장치가 WS-Discovery에서 발견 될 것으로 기대하고 클라이언트가 probe 메서드를 호출 할 것으로 예상합니다. 중단 점이 있는데 호출되지 않습니다.

추신. 네트워크 트래픽 인터셉터 응용 프로그램을 설치했으며 ProbeMatches 응답 (비누 몸체)으로 생산 IPC 카메라 응답을 발견했으며 CXF의 impl은 응답하지 않습니다. ProbeMatches으로 CXF 서비스 응답을하려면 어떻게합니까?

답변

관련 문제