Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从android应用程序使用wsdl服务(基于Azure)_Java_Android_Soap_Wsdl_Ksoap2 - Fatal编程技术网

Java 如何从android应用程序使用wsdl服务(基于Azure)

Java 如何从android应用程序使用wsdl服务(基于Azure),java,android,soap,wsdl,ksoap2,Java,Android,Soap,Wsdl,Ksoap2,1) .I从WSDL生成Web服务客户端(使用Axis2 1.5 carnel、wsdl2java、Tomcat 7.0) 2) 。使用KSoap2 Android库从Android访问JAX-WS web服务(我在服务上测试了这个库,它工作正常)。但我无法连接到该服务。当我从Android Project生成Web服务客户端时,我得到了以下错误:“从WSDL生成Java时出现IWAB0399E错误:Java.io.IOException:发射器失败。WSDL文档中存在未定义的绑定(BasicH

1) .I从WSDL生成Web服务客户端(使用Axis2 1.5 carnel、wsdl2java、Tomcat 7.0)

2) 。使用KSoap2 Android库从Android访问JAX-WS web服务(我在服务上测试了这个库,它工作正常)。但我无法连接到该服务。当我从Android Project生成Web服务客户端时,我得到了以下错误:“从WSDL生成Java时出现IWAB0399E错误:Java.io.IOException:发射器失败。WSDL文档中存在未定义的绑定(BasicHttpBinding_icCustomerService)。提示:确保是完全限定的。”

3) 。我从Web服务客户端生成Service.jar,它用于Android ProjectHow lib,但不起作用

4) 。当我使用ksoap2时,出现以下错误:

[2012-06-26 17:25:33-转录ME_2.2]Dx 1错误;中止[2012-06-26 17:25:33-Transcriptime_2.2]到Dalvik格式的转换失败,错误为1[2012-06-26 17:26:32-TMP]Dx警告:忽略匿名内部类(org.ksoap2.transport.KeepAliveHttpsTransportSE$1)的InnerClasses属性,该内部类没有关联的EnclosingMethod属性。该类可能是由不以现代.class文件格式为目标的编译器生成的。建议的解决方案是使用最新的编译器从源代码重新编译类,而不指定任何“-target”类型选项。忽略此警告的结果是,此类上的反射操作将错误地指示它不是内部类。[2012-06-26 17:26:33-TMP]Dx故障处理“javax/xml/ws/Dispatch.class”:

在不构建核心库时,不明智或错误地使用核心类(java.*或javax.*)

这通常是由于在使用IDE(如Eclipse)时无意中在应用程序的项目中包含了核心库文件。如果你确定你不是故意定义一个核心类,那么这是最可能的解释

但是,您实际上可能试图在核心命名空间中定义一个类,例如,您可能从非Android虚拟机项目中获取了该类的源。这肯定行不通。至少,它会危及您的应用程序与平台未来版本的兼容性。它的合法性也常常令人怀疑

如果您确实想要构建核心库(这仅适用于创建完整虚拟机发行版的一部分,而不是编译应用程序),那么请使用“-core library”选项来抑制此错误消息

如果您继续使用“-core library”,但实际上正在构建一个应用程序,那么您的应用程序在某个时候仍将无法构建或运行。请为愤怒的客户做好准备,例如,他们发现一旦升级操作系统,您的应用程序就会停止运行。这个问题要怪你

如果您合法地使用了一些恰好在核心包中的代码,那么最简单、安全的替代方法就是重新打包这些代码。也就是说,将有问题的类移动到您自己的包命名空间中。这意味着它们永远不会与核心系统类发生冲突。JarJar是一个可以帮助您进行这项工作的工具。如果你发现自己做不到这一点,那么这表明你所走的道路将最终导致痛苦、痛苦、悲伤和哀叹

[2012-06-26 17:26:33-TMP]Dx 1错误;中止[2012-06-26 17:26:33-TMP]到Dalvik格式的转换失败,错误为1


请帮助我…

如果您要搜索StackOverFlow中的Axis和WCF/WSDL问题,您将发现很多问题,但没有任何答案或建议,因此您无法找到很多问题

关于以下错误:

There is an undefined binding (BasicHttpBinding_ICustomerService) in the WSDL document.
Hint: make sure is fully qualified."
我可以说,这个问题可能与如何定义ICCustomerService绑定有关。由于您选择了BasicHttpBinding,请确保所有参数都正确。如果您检查Axis生成的WSDL,您将能够轻松地验证它

此外,在某些情况下,您可能会遇到名称空间问题,这可能会导致Axis WSDL生成service.svc?WSDL=wsdl0和service.svc?WSDL=wsdl1。如果是这种情况,您可以通过为每个数据协定添加名称空间属性以及消息头、正文和在web服务端点中添加的bindingnamespace属性来解决名称空间问题

我的第一个建议是创建一个简单的C#客户端应用程序,并连接到您的Windows Azure WCF服务,验证您可以使用BasicHttpBindings毫无问题地进行连接,然后使用Java应用程序执行相同的操作。如果您发现问题,请比较两个站点之间的网络流量,以了解不同的网络流量,这可能有助于您找出根本原因,对于非常具体的问题,请在SO处提问,您将获得适当的帮助。祝你好运