相关疑难解决方法(0)

如何使用wsdl2java为wsdl生成SOAP 1.2绑定?

我简要说明:

如何让wsdl2java生成SOAP 1.2绑定?

详细说明:

我使用工具(apache cxf 3.0.2)为wsdl生成了java服务类wsdl2java:

MBA-Anton:bin asmirnov$ ./wsdl2java -server -catalog /tmp/wsdl/catalog  -d /tmp/onvif/server http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl
Run Code Online (Sandbox Code Playgroud)

然后我创建了服务代码并运行它,它正在运行:

public static void main(String args[]) throws InterruptedException {
        System.out.println("Starting Server");
        Endpoint.publish("udp://239.255.255.250:3702", new DiscoveryService());

        System.out.println("Server ready...");

        Thread.sleep(10 * 60 * 1000); // 10 min
        System.out.println("Server exiting");
        System.exit(0);
    }
Run Code Online (Sandbox Code Playgroud)

开始记录:

Starting Server
28.11.2014 19:51:59 org.apache.cxf.wsdl.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 19:52:00 org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be udp://239.255.255.250:3702
28.11.2014 19:52:00 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL
INFO: …
Run Code Online (Sandbox Code Playgroud)

xml wsdl cxf wsdl2java ws-discovery

8
推荐指数
0
解决办法
3181
查看次数

Java的WS-Discovery实现

是否有针对JAX-WS RI,Axis2,CXF或其他工具包的WS-Discovery规范的任何实现?

java web-services ws-discovery

4
推荐指数
1
解决办法
3132
查看次数

如何使用 WS-Discovery 规范在 Java 中发现网络上的 ONVIF 设备?

我正在尝试使用一些 Java 代码发现 ONVIF 设备。具体来说,我试图获取他们的设备服务地址(我相信这只是他们的 IP 地址?),正如ONVIF 核心规范指出(第 4.3 节)“成功的发现提供了设备服务地址。一旦客户端拥有设备服务地址它可以通过设备服务接收详细的设备信息...”。最终获得网络上 ONVIF 设备的详细信息是我的目标。一般来说,我也在寻找一些与使用 ONVIF 规范相关的指南。

我对网络服务世界(以及一般的网络)还是个新手,所以如果我说了什么蠢话,请原谅我。不过,我自己也为此付出了很多努力:我阅读了大量的ONVIF Core SpecONVIF Application Programmer's GuideWS-Discovery Specific。如果可以的话,我会总结一下我所知道的,以便您可以告诉我我是否走在正确的道路上:

  1. “Web 服务”是使用独立于平台和语言的 Web 服务标准(例如 IP 网络上的 XML、SOAP 和 WSDL)的标准技术的名称。基本思想是我们希望能够从任何编程语言调用有效的方法/函数(服务)。
  2. Web 服务通常托管在服务器上;但在 ONVIF 使用案例中,Web 服务提供商是 ONVIF 设备(例如 IP 摄像机)。因此,为了通过任何语言与设备进行交互,我们使用 Web 服务操作/调用,因为 Web 服务调用可以用任何语言实现。
  3. XML 是数据描述语法(使用它是因为它与语言无关;任何语言都可以解析它)。SOAP 是用于来回获取 SOAP 注入的 XML 文档(基本上是进行我们的方法调用)的通信协议。WSDL 用于描述服务(它是基于 XML 的 Web 服务接口描述)。我在这里下载了用于设备管理的 WSDL ,并通过 WSDL 编译器wsimport(由 JDK 提供)生成 WSDL 中的 Java 类以在我的代码中使用。但我知道调用这些方法将在设备发现之后进行,对吗?
  4. ONVIF 设备是根据 WS-Discovery …

java soap ws-discovery onvif

4
推荐指数
1
解决办法
1万
查看次数

Onvif ip camera服务发现

我需要发现支持onvif协议的局域网中的所有ip摄像头.我尝试使用WSDiscoveryClient,但它没有发现onvif服务,尽管它发现了其他服务.它就像onvif没有响应来自WSDiscoveryClient的探测.Onvif设备管理器可以进行发现,所以我知道可以做到这一点.有谁知道怎么做?

java ws-discovery onvif

1
推荐指数
1
解决办法
6620
查看次数

标签 统计

ws-discovery ×4

java ×3

onvif ×2

cxf ×1

soap ×1

web-services ×1

wsdl ×1

wsdl2java ×1

xml ×1