2012-06-26 65 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我得到这个错误:如何使用Android应用程序的wsdl服务(基于Azure)

[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”:

不适宜或错误地使用核心类(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

请帮我...

回答

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应用程序执行相同的操作。如果您发现问题,请比较两者之间的网络流量以查看可能会帮助您找出根本原因以及针对特定问题提出问题的不同情况,并且您将得到适当的帮助。祝你好运!!

相关问题