WSDL不为android生成存根代码(devicemgmt.wsdl)

时间:2013-06-03 13:05:40

标签: android maven wsdl stubs

哪些步骤会重现此问题?

安装eclipse adt,java jdk和maven

1.拥有pom.xml

2.有onvif.xsd

3.具有devicemgmt.wsdl

4.Declare de ambiente变量为java JDK(JAVA_HOME),Maven(M2_HOME)和For sdk(ANDROID_HOME)

5.在eclipse中创建一个文件夹WSDL(在android应用程序项目中),并将文件放在vif.xsd和devicemgmt.wsdl中。 Dwvicemgmt.wsdl在文件末尾声明了ip。 soap:address location =“http://59.124.49.22:8083/onvif/device_service”

6.在CMD中转到projet的文件夹并运行命令mvn generate-sources eclipse:eclipse

projet和pom.xml,devicemgmt.wsdl和onvif.xsd在此链接中: https://www.dropbox.com/s/xd8byoh9ebqoiuv/devicemgmt.rar

预期产量是多少?你看到了什么呢? 它的命令是mvn generate-sources eclipse:eclipse在pom.xml(TARGET文件夹)中描述的文件夹中生成了一些代码。

您使用的是哪个版本的产品?什么操作系统? Windows 7 32位 jdk 1.6.0.45 maven 3.0.5-bin

请在下面提供任何其他信息。

我遵循了这个教程(https://code.google.com/p/android-soap-enabler/wiki/FiveMinutesTutorial),但是使用了不同的.wsdl,我已经把所有的日食都需要了。 我还有一个问题,当我运行mvn generate-sources eclipse后刷新项目:eclipse,/ gen已经存在但不是源文件夹。转换为源文件夹或重命名。

我尝试使用tempconvert.wsdl运行,一切运行正常,但是使用devicemgmt.wsdl不会生成任何内容。

1 个答案:

答案 0 :(得分:1)

见这里: http://www.coderanch.com/t/562144/Web-Services/java/Generating-client-code-wsdl-file

您可以生成服务存根代码,即使用来自$ JDK / bin的wsimport - 通过此功能,您可以看到更多错误

但我想你的问题是devicemgmt.wsdl不包含服务声明本身所以在生成存根之前你必须把这个wsdl的结尾放在这样的东西:

<wsdl:service name="DeviceService">  
            <wsdl:port name="DevicePort" binding="tds:DeviceBinding">  
                <soap:address location="http://localhost/onvif/device_service"/>  
            </wsdl:port>  
</wsdl:service>