Tag: jaxb2

JAXB2:将嵌套元素映射到同一Java类中

我在尝试将嵌套元素映射到同一个Java类时遇到了麻烦。 XML 我在这里要做的是将id属性和text元素设置为SlideText类。 hello 模块类 @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Module { @XmlAttribute private String name; @XmlElements({ @XmlElement(name = “slide”, type = SlideText.class) }) private Slide slide; } 幻灯片课程 @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public abstract class Slide { @XmlAttribute private String id; } SlideText类 我尝试在text属性上使用@XmlElementWrapper ,但我得到一个exception,即@XmlElementWrapper只能应用于集合。 @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class SlideText extends Slide { // how to map […]

以编程方式将WsImport与没有Maven或ANT的JAXB插件一起使用?

我正在使用WsImport从远程WSDL文件生成一些Java源代码。 请注意,这是来自常规Scala项目,即它不是在Maven或Ant构建中完成的: import com.sun.tools.ws.WsImport def run(wsdlFile: File, destination: File, packageName: String = “generated”): Seq[File] = { sys.props(“javax.xml.accessExternalDTD”) = “all” sys.props(“javax.xml.accessExternalSchema”) = “all” val xjcArgs = “” //TODO val args = s”-Xnocompile -XadditionalHeaders $xjcArgs -J-Djavax.xml.accessExternalDTD=all -b http://www.w3.org/2001/XMLSchema.xsd -p $packageName -s $destination $wsdlFile” WsImport.doMain(args.split(‘ ‘)) } 上面的代码非常有用,我用它来从Scala代码上以编程方式生成Java WSDL客户端。 但是,现在,我还想使用一些WsImport插件(例如this和this ): val xjcArgs = “-B-Xequals -B-XhashCode -B-Xvalue-constructor” 我收到此错误: […]

jaxb2-maven-plugin只执行第一次执行

我正在尝试使用jaxb-maven插件使用JAXB将多个XSD转换为不同包中的POJO。 我已将其设置为使用多个执行块,第一个执行块执行,然后我收到一条消息:在架构或绑定文件中未检测到任何更改 这是我的pom.xml的摘录: … org.codehaus.mojo jaxb2-maven-plugin 1.5 org.codehaus.mojo jaxb2-maven-plugin 1.5 Application0 generate-sources xjc src/main/webapp/WEB-INF/xsd/version1 za.co.mycee.application.model ${basedir}/src/main/java/ false 1.5 2.1 -no-header Application1 generate-sources xjc src/main/webapp/WEB-INF/xsd/version1 za.co.mycee.application.model.version1 ${basedir}/src/main/java/ false 1.5 2.1 -no-header Application2 generate-sources xjc src/main/webapp/WEB-INF/xsd/version2 za.co.mycee.application.model.version2 ${basedir}/src/main/java/ false 1.5 2.1 -no-header … …. 这是我收到的错误消息: [INFO] — jaxb2-maven-plugin:1.5:xjc (Application) @ mycee-application — [INFO] Generating source… [INFO] parsing […]

如何将JAXB类实例编组为其超类

是否可以将JAXB带注释的类实例编组为其超类 (也是一个JAXB注释类)? @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = “BenamningTYPE”, propOrder = {“benamningId”}) @XmlSeeAlso({MoreDetailedBenamningTYPE.class}) public class BenamningTYPE { … @XmlElement(name = “BenamningId”, required = true) protected IdentifierTYPE benamningId; … } 和扩展类型: @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = “MoreDetailedBenamningTYPE”, propOrder = {“modifyDetails”}) public class MoreDetailedBenamningTYPE extends BenamningTYPE { … @XmlElement(name = “ModifyDetails”, required = true) protected ModifyDetailsTYPE modifyDetails; … } 所以,如果这种情况: BenamningTYPE b […]

需要帮助格式化JAXB输出

我有一些对象让我们说两个,A和B.这些对象来自同一个类。 我需要使用JAXB封送这些对象,输出XML应采用以下forms: an id an id an id value value an id value value 如何在JAXB中生成此格式? 任何帮助表示赞赏。 更新:更具体地说,假设我们有这样的Human类: @XmlRootElement public class Human { private String name; private int age; private Integer nationalID; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public […]

如何使用Jax-RS返回Java List Json

我想知道如何返回一个方法返回List的JSON数组,例如: @GET @Produces(“application/json”) public List aMethod(){ return Array.asList(“text1”, “text2”, “text3”); } 我想知道,例如,如何在我的方法中接收List参数类型 @PUT @Consumes(“application/json”) void otherMethod(List){ // do something ; } 我读过有关JaxbContext的内容,我理解它对我的帮助。

是否有一个生成Builders的JAXB插件?

您是否了解为生成的JAXB类生成Builder模式类的任何优秀JAXB插件? 使用JAXB生成的类编写域是非常讨厌的。 我看到有人在2010年写回了一个插件,但它没有使用最新的maven插件jaxb2-maven-plugin,它还要求你为每个不健壮的模式类型指定绑定。

JAXB java.util.Map绑定

我有一个Json响应,如下所示: { “data”: [ { “param1”: “value1”, “param2”: “value2”, . . . “paramN”: “valueN” } ] } 我不知道参数的名称和数量。 所以,我需要并希望将所有这些参数绑定到由元组组成的java.util.Map字段。 为此,我尝试了以下代码,但“parametersMap”字段返回null。 @XmlRootElement(name=”data”) @XmlAccessorType(XmlAccessType.FIELD) public class Parameters { @XmlElement private Map parametersMap; // Getter and setter for parametersMap } 如何使用JAXB注释实现这样的绑定? 提前致谢。

具有JAXB Random ClassCastException的Netbeans ..无法转换为com.sun.xml.bind.v2.runtime.reflect.Accessor

我从SOAP服务下载了Soap消息,并尝试通过返回下载的消息来模拟Soap服务。 以下代码显示了我如何将Soap消息解组为所需的响应 public static DataClientType unmarshallFile(String fileName) throws Exception { XMLInputFactory xif = XMLInputFactory.newFactory(); XMLStreamReader xsr = xif.createXMLStreamReader(ClientSampleSoapResponseData.class.getResourceAsStream(fileName)); xsr.nextTag(); // Advance to Envelope tag xsr.nextTag(); // Advance to Header xsr.nextTag(); // Advance to Body tag xsr.nextTag(); // Advance to getClientByAccountResponse xsr.nextTag(); // Advance to content of getClientByAccountResponse JAXBContext jc = JAXBContext.newInstance(GetClientByAccountResponse.class); Unmarshaller unmarshaller = jc.createUnmarshaller(); […]

为什么没有将jaxb适配器注释添加到代理类中

我的XSD看起来像这样: … … … 我无法将适配器注释添加到具体字段(生成的代理类必须具有我的适配器注释)。 所以结果应该如下 : @XmlJavaTypeAdapter(value=StringAdapter.class, type=String.class) @XmlAttribute(name = “first_name”) protected String firstName; 但我的约束力没有做任何事情。 就像它不存在一样。 代理类生成期间没有错误 。 dependencies { xsd2java “com.sun.xml.bind:jaxb-xjc:2.2.7” xsd2java “com.sun.xml.bind:jaxb-impl:2.2.7” } task xsd2java() { doLast { jaxbTargetDir.mkdirs() ant.taskdef(name: ‘xjc’, classname: ‘com.sun.tools.xjc.XJCTask’, classpath: configurations.xsd2java.asPath) ant.jaxbTargetDir = jaxbTargetDir ant.xjc(destdir: ‘${jaxbTargetDir}’, package: ‘xyzrequest’, schema: ‘src/main/resources/XMLreq.xsd’, binding: ‘src/main/resources/bindings.jxb’) } } 和我的适配器。 public class StringHashFunctionAdapter […]