2012-06-26 38 views
0

1).I从WSDL生成Web服务客户端(使用Axis2 1.5 carnel,wsdl2java,Tomcat 7.0); 2)。从Android访问JAX-WS Web服务使用KSoap2-android库(我在服务http://www.webservicex.net/ConvertWeight.asmx上测试了这个lib,它工作正常)。但与http://xxx.svc?wsdl一起工作我无法连接到该服务。当我从Android Progect生成Web服务客户端时,出现以下错误: “IWAB0399E从WSDL生成Java时出错:java.io.IOException:Emitter失败。WSDL文档中存在未定义的绑定(BasicHttpBinding_ICustomerService)。肯定是完全合格的。“ 3)。从Web服务客户端,我制作了service.jar,它在Android Progect上使用了lib,但不工作。 4)。当我使用kso​​ap2我得到这个错误:如何在Azure中的android中使用wsdl服务

[2012-06-26 17:25:33 - TranscribeMe_2.2] Dx 1错误;中止 [2012-06-26 17:25:33 - TranscribeMe_2.2]转换为Dalvik格式失败,错误1 [2012-06-26 17:26:32 - TMP] Dx警告:忽略匿名的InnerClasses属性内部类 (org.ksoap2.transport.KeepAliveHttpsTransportSE $ 1)不包含与 关联的EnclosingMethod属性。这个类可能是由一个 编译器生成的,它不针对现代.class文件格式。建议的 解决方案是使用最新的编译器 并且不指定任何“-target”类型选项,从源代码重新编译该类。忽略 这个警告的结果是,对这个类的反射操作将错误地 指示它是而不是的一个内部类。 [2012-06-26 17时26分33秒 - TMP] DX 麻烦处理 “的javax/XML/WS/Dispatch.class”:

不明智或错核心类(爪哇使用*或javax。*) 当不构建核心库时。

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

但是,您可能实际上正试图在核心 名称空间中定义一个类,该名称空间可能来自您的源,例如,来自非Android虚拟机项目的 。这将大多数 肯定无法正常工作。至少,它会危害您的应用与该平台的未来版本的兼容性 。 它也常常是有问题的合法性。

如果你真的打算建立一个核心库 - 这是只有 适合作为创建一个完整的虚拟机 发行版的一部分,而不是编译应用程序 - 然后使用 的“--core库”选项来抑制此错误消息。

如果你继续使用“--core库”,但事实上是 构建应用程序,然后谅解,您的应用程序 仍然将无法生成或运行,在某些时候。请为 为愤怒的客户做好准备,例如,发现您的 应用程序在升级其运行的 系统后将停止运行。你会责怪这个问题。

如果您正在合理使用 核心软件包中的某些代码,那么最简单的安全替代方法是 重新打包该代码。也就是说,将有问题的类移动到您自己的包名称空间的 。这意味着他们永远不会与 与核心系统类冲突。 JarJar是一个工具,可以帮助你在这个努力中。如果你发现你不能这样做,那么这表明你所在的路径最终会导致痛苦,痛苦,悲伤和悲伤。

[2012-06-26 17:26:33 - TMP] Dx 1错误;中止 [2012-06-26 17点26分33秒 - TMP]转换为Dalvik的格式错误1

请帮我...

+0

我试着读几段时间来理解你的问题。您是否尝试通过Android中的WSDL访问Web服务并遇到问题?此Windows服务托管的Web服务也是?您的Android项目如何与Windows Azure相关? – AvkashChauhan

+0

我不熟悉Azure中包含的wsdl服务的工作,可以显示一些示例或链接。此Windows服务托管的Web服务也是? - 是的。您的Android项目如何与Windows Azure相关? - 那是怎么回事? – user1474844

回答

0

失败如果将搜索计算器的轴和WCF/WSDL问题,你会发现很多没有任何答复或建议,这样就不会有很多,你将能够

关于您的以下错误:

There is an undefined binding (BasicHttpBinding_ICustomerService) in the WSDL document. 
Hint: make sure is fully qualified." 

我可以说,这个问题可能与如何相关ICustomerService绑定被定义。由于您选择了BasicHttpBinding,请确保所有参数都正确。如果您检查您的Axis生成的WSDL,您将能够轻松验证它。

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

我的第一个建议是创建一个简单的C#客户端应用程序,并连接到您的Windows Azure WCF服务,并验证您可以使用BasicHttpBindings进行连接而没有任何问题,然后使用Java应用程序执行相同的操作。如果您发现问题,请比较两者之间的网络流量以查看可能会帮助您找出根本原因以及针对特定问题提出问题的不同情况,并且您将得到适当的帮助。祝你好运!!

相关问题