我正在为安卓平板电脑开发一个应用程序,这意味着我可以通过客户的NetSuite ERP系统读取信用卡和处理付款。我使用来自Apache.CFX的Apache.CFX来为NetSuite的web服务生成java文件。但是,大多数类文件都是从javax.xml和javax.jws导入的。
作为解决这一问题的一种方法,由于Eclipse在项目库中使用rt.jar时不会编译,所以我使用jarjar重构rt.jar,从而将这些引用转换为ns.javax。这样做,并将重构jar引入库,消除了问题选项卡中堆积的错误。但是,它仍然无法编译,因为Java核心引用仍在进行中。
因此,我进行了下一个逻辑步骤,并使用jarjar重构了所有的java和javax。现在我得到了新的错误,现在大部分错误都来自于web服务类中的以下内容:
The constructor QName(string, string) is undefined我更改了导入以删除新的类前缀,但随后只创建了新的错误,因为其他各种类和对象无法在整个web服务文件中定义。
我似乎找不到足够的相关资源来实现这一目标,因为我所有的搜索都提到了其他可用于安卓系统的NetSuite应用程序,也没有任何关于在安卓平台上使用web服务的信息。现在,我只能猜测我是以一种半正确的方式去做这件事。
我是否可以用其他库来取代在安卓平台上工作的rt.jar呢?
--编辑--
我想我应该添加一个导致这个问题的核心进口产品.
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;发布于 2015-01-12 21:02:55
我能够使用EasyWSDL.com从wsdl生成与Android兼容的web服务类。不过,我不得不修改一些类文件,因为它生成的方法超过了Java对方法大小的64k限制。
https://stackoverflow.com/questions/27867862
复制相似问题