草庐IT

JAXBElement

全部标签

java - 将对象转换为 JAXBElement

我想实现一个返回JAXBElement的方法,下面是代码@XmlRootElement(name="history")@XmlAccessorType(XmlAccessType.FIELD)publicclassIBHistoryInfo{@XmlElement(name="trade")privateListmTrade;publicvoidupdateTradeValue(intreqId,Stringdate,doubleopen,doublehigh,doublelow,doubleclose,intvolume,intcount,doubleWAP,booleanhasGa

java - JAXBElement<Boolean> 与 boolean 值

JAXBElementBoolean到底是什么?我如何将其设置为与“true”等效的boolean值?方法:publicvoidsetIncludeAllSubaccounts(JAXBElementparamJAXBElement){this.includeAllSubaccounts=paramJAXBElement;}这不编译:returnMessageFilter.setIncludeAllSubaccounts(true); 最佳答案 JAXBElement是在JAXB(JSR-222)实现无法单独根据值判断要做什么时作为

java - 使用 JAXB 生成 Java 原始类型的 XML 模式类型不添加 required 到它

我正在使用JAXB(xjc版本2.2.4-2)从XML模式生成Java类。映射到Java原始数据类型的XML类型不添加:@XmlElement(required=true)例如使用时:将导致://noannotationaddedhereprotectedlonguserId;@XmlElement(required=true)protectedStringuserName;有人能解释为什么会这样吗?这是否与您可以使用xjc设置的选项有关? 最佳答案 您不需要注释来显示Java类型的属性long是必需的,因为原始值不能为空这一事实是

java - JAXB 问题,Marshal,无法编码类型 “java.lang.String”

当我运行编码操作时,出现以下错误:javax.xml.bind.MarshalException-withlinkedexception:[com.sun.istack.internal.SAXException2:unabletomarshaltype"java.lang.String"asanelementbecauseitismissingan@XmlRootElementannotation]...Causedby:com.sun.istack.internal.SAXException2:unabletomarshaltype"java.lang.String"asanele

java - JAXB/XJC 生成 JAXBElement<String> 而不仅仅是 String(以处理 null 大小写)

使用JDK1.7附带的JAXB/xjc(bin\xjc.exe)这是我的XSD的片段:生成的类显示:@XmlElementRef(name="Surname",type=JAXBElement.class,required=false)protectedJAXBElementsurname;publicJAXBElementgetSurname(){returnsurname;}publicvoidsetSurname(JAXBElementvalue){this.surname=value;}我知道JAXB使用JAXBElement来允许null,但这没有任何意义,因为任何声明为St

java - 如何使用 JAXB 将 JAXBElement<Object> 编码到 Java 中的 org.w3c.dom.Element

我需要通过请求获取Element对象。我有对象工厂。我创建了一个JAXBElement,我需要将它编码到Element。谁能帮帮我? 最佳答案 您可以编码为DOMResult:DOMResultres=newDOMResult();marshaller.marshal(myJaxbElement,res);Elementelt=((Document)res.getNode()).getDocumentElement(); 关于java-如何使用JAXB将JAXBElement编码到Jav

java - JAXB + Spring WS : "No adapter for endpoint" while using JAXBElement

我有一个Web服务,我正尝试使用Spring和Jaxb来实现。我已经有一些使用这两种服务的工作服务——但由于响应的格式,这个特定的服务给我带来了困难。在我的XSD中,响应定义如下(注意它是单个元素):我有一个如下所示的服务方法:@PayloadRoot(localPart=SERVICE_REQUEST,namespace=NAMESPACE)publicOutcomeprocessFileRequest(ServiceRequestrequestObject)我最终得到一个看起来像这样的异常:java.lang.IllegalStateException:端点没有适配器[public

java - Jaxb 生成的类使用 JAXBElement 而不是指定类型

这个问题已经以各种形式提出-但我觉得仍有进一步分类的空间。我有一个包含两个元素定义的xsd这会产生:protectedStringdate;@XmlElementRef(name="lastXdigits",namespace="http://xxxxxxx",type=JAXBElement.class)protectedJAXBElementlastXDigits;将xsd更改为:结果:protectedStringdate;@XmlElement(name="lastXdigits",required=true,nillable=true)protectedStringlastX

java - 如何重构 XSD 以便解码不返回 JAXBElement

我有以下架构:@javax.xml.bind.annotation.XmlRootElement(name="unit")当我解码这个XML时Name返回的对象是javax.xml.bind.JAXBElement,但是我想得到org.foo.bar.Unit背部。我需要这个,因为在我的案例中,解码是由JAX-RS提供程序或SpringWeb隐式发生的。观察:如果我删除/替换声明,JAXB开始返回org.foo.bar.Unit.如果我删除声明,JAXB开始返回org.foo.bar.Unit(尽管需要在解码期间禁用验证)。因此我会说给定的XSD是证明问题的最小XSD。问题:为什么JA

java - 解码套接字的 InputStream 会关闭套接字?

我有一个服务器-客户端架构,其中客户端将XML发送到服务器,服务器读取它并从中生成PDF,然后将其发送回客户端。在客户端:JAXBElementxml=...Socketsock=...Marshallermarshaller=...marshaller.marshal(xml,sock.getOutputStream());sock.shutdownOuput();同时在服务器端:ServerSocketserver=...Socketclient=server.accept();Unmarshallerunmarshaller=...//client.isClosed()->fal