我有以下问题:我正在使用wsimport
ant任务创建一个Web服务客户端(用于salesforce.com)。一切工作正常,但是生成的类对所有bean属性都使用这个奇怪的JAXBElement类。
例如:
public void setLastName(JAXBElement<String> value) { this.lastName = ((JAXBElement<String> ) value); } public JAXBElement<String> getCountry() { return country; }
与其将所有类包装在JAXBElement中,我不希望使用简单的方法,例如setLastName(String
newLastName)。这就是我调用wsimport任务的方式。
<wsimport debug="false" verbose="false" keep="${keep}"
extension="${extension}" destdir="${tmp.metro}"
wsdl="${licensing.wsdl}"
sourcedestdir="${licensingws.generated.src}"
>
<binding dir="${basedir}/etc" includes="${client.binding}"
/>
<arg value="-B-XautoNameResolution" />
</wsimport>
通过以下方式定义任务:
有人知道我必须设置什么以便wsimport以我想要的方式生成类吗?提前非常感谢!!!
在生成的bean中使用JAXBElement包装器的原因可能是WSDL将字段声明为可选字段和可设置字段。要区分“不存在”和“存在但为空”,不能直接使用String类型,因为在两种情况下String均为null。
如果您不需要区分这两种情况,则可以将代码生成器配置为使用String类型。我不确定100%如何执行ant任务,但是您可能会在ant任务文档中找到相关信息。
问题内容: 我正在尝试为访问WSDL描述的Web服务的Java应用程序编写模块。WSDL源代码直接从我认为是ASP.NET Web服务的地方下载;服务URL以.asmx扩展名结尾,在浏览器中查看服务URL会显示一个链接,该链接可用于下载WSDL。 对我来说,一个关键要求是能够切换服务URL而无需重新编译。给我的URL显然是一个测试服务器,而且我知道在生产环境中,我将获得要使用的生产URL。我还希望
我在eclipse Luna中使用JAXB从第三方XSD文件生成Java类。这个文件通常定义一个简单类型,它只是一个原始类型。例如: 然后将简单类型用于复杂类型的元素,例如: JAXB为复杂类型生成一个看起来完全正确的Java类: 但是,它还为@XmlElement(name="ChannelId")行生成以下JAXB错误 有人知道这个错误消息是什么意思吗?我不能更改XSD文件,但是应该怎么做来删
我有JavaWebService代码在我的eclipse。我使用了@WebService@Webmethod,@XmlElements,@XmlType,@XmlAccessorType 现在我正在使用cxf框架中的java2ws命令生成wsdl。这是命令 我的wsdl文件包含agr0作为我不想要的名称,因为当我将其导入SoapUI时。它正在字段周围添加标记。 下面是带有arg0的wsdl部分 下
问题内容: 我正在使用Apache Derby嵌入式数据库在Maven项目中进行单元测试。不幸的是,每当运行测试时,我最终都会在项目根目录中找到该文件。数据库本身是在目录()中创建的,因此这不是问题。在查阅参考指南之后, 我尝试在JDBC url()上设置参数,但这似乎是针对其他日志的,因此仍然会出现。 任何帮助深表感谢。 问题答案: 您可以通过创建以下类来摆脱文件 并设置JVM系统属性,例如,使
在这段代码中,我从\u RETURN\u VALUE得到了\u SOME\u PATH\u上的
问题内容: 就像是: 此代码引发异常,因为在迭代时更改了字典。 我发现另一本词典只有非常规的解决方案: 谢谢 问题答案: 另一种写法是 在Python3中,这变成