以下是我使用的使用在WebLogic 10.3.2版莫西JAXB轉換創建子類的類。我正在使用EclipseLink 2.4.1 MOXy來生成XML。我無法在下面的代碼中生成類型屬性。讓我知道我在這裏做錯了什麼。@ XmlDiscriminatorNode/@ XmlDescriminatorValue不工作WebLogic Server上
我使用的EclipseLink MOXY 2.4.1和WebLogic 10.3.2和MOXY 2.4.1是在WebLogic
import javax.xml.bind.annotation.*;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorNode;
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlDiscriminatorNode("@type")
public abstract class BaseEntity {
private String firstName;
private String lastName;
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}
子類
package forum13831189;
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
@XmlDiscriminatorValue("xyz")
public class XyzEntity extends BaseEntity {
public XyzEntity() {
super();
}
}
另一個子類
配置import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorValue;
@XmlDiscriminatorValue("Abc")
public class AbcEntity extends BaseEntity {
}
REST的Web服務類:
@GET
@Path("/xyz")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Representation getAccount() throws CPAException {
Representation rep = new Representation();
BaseEntity entity = new XyzEntity();
entity.setFirstName("first-name");
entity.setLastName("last-name");
rep.setEntity(entity);
return rep;
}
@XmlRootElement
static class Representation {
private BaseEntity entity;
public BaseEntity getEntity() {
return entity;
}
public void setEntity(BaseEntity entity) {
this.entity = entity;
}
}
以上是產生下面的XML。
<representation>
<firstName>first-name</firstName>
<lastName>last-name</lastName>
</representation>
屬性類型不會在上面生成。
非常感謝。是的,我錯過了上面的jaxb.properties。 另外,是當我使用PUT或POST,XML被反序列化時,它不能夠創建子類,如果@XmlSeeAlso不存在。
非常感謝。我錯過了上面的jaxb.properties。 – user1896301
在上面的例子中,我用@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})生成XML和JSON的方法相同。請你告訴我如何配置MOXY JSON來使用。 – user1896301
@ user1896301 - 以下是將MOXY配置爲您的JSON提供者的最佳方式:http://blog.bdoughan.com/2012/05/moxy-as-your-jax-rs-json-provider.html –