AXIS2/C和ONVIF

hug*_*ugo 6 c++ wso2 axis2c onvif

我正在尝试使用AXIS2/C(c ++)使用以下命令创建wsdl http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl的存根:

./WSDL2CPP.sh -uri http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl

我得到以下答案:

Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:153)
    at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
    at org.apache.axis2.wsdl.WSDL2CPP.main(WSDL2CPP.java:19)
Caused by: org.apache.axis2.AxisFault: **`No service was not found in the WSDL at http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl with targetnamespace http://www.onvif.org/ver10/device/wsdl`**
    at org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateAllServices(WSDL11ToAllAxisServicesBuilder.java:115)
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:147)
    ... 2 more
Run Code Online (Sandbox Code Playgroud)

小智 0

此错误通常是由于该工具无法在 WSDL 中找到服务元素而出现。因为在 WSDL 定义中它必须定义一个端点。请检查您的 WSDL 是否包含服务元素或任何其他导入的 WSDL 是否包含服务元素。

因此,基本上要摆脱这个问题,您必须在此 WSDL 中定义一个端点。