处理BDPB标签体只包含空白换行符导致转换对象报错问题。

添加单元测试程序
This commit is contained in:
zhouxiunai
2019-01-09 10:17:22 +08:00
parent 2e2bef8eb9
commit 10f4ec15a1
4 changed files with 160 additions and 15 deletions
@@ -0,0 +1,11 @@
package com.gzzn.omms.msgexchangeapi.dao;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.entity.CminmsgTest;
public interface CminmsgTestDao extends CrudRepository<CminmsgTest, Long> {
}
@@ -0,0 +1,136 @@
package com.gzzn.omms.msgexchangeapi.entity;
import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
/**
* The persistent class for the CMINMSGS database table.
*
*/
@Entity
@Table(name="CMINMSGS_TEST")
public class CminmsgTest implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="CMINMSGS_ID")
private long cminmsgsId;
@Lob
@Column(name="CMINMSGS_CLOB_MSG")
private String cminmsgsClobMsg;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_DATE_PROCESSED")
private Date cminmsgsDateProcessed;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_DATE_RECEIVED")
private Date cminmsgsDateReceived;
@Column(name="CMINMSGS_STATUS")
private String cminmsgsStatus;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="CMINMSGS_SUBSYSTEM_DATE_SENT")
private Date cminmsgsSubsystemDateSent;
@Column(name="CMINMSGS_SUBSYSTEM_NAME")
private String cminmsgsSubsystemName;
@Column(name="CMINMSGS_SUBSYSTEM_SEQUENCE")
private String cminmsgsSubsystemSequence;
@Column(name="CMINMSGS_SUBSYSTEM_SUBTYPE")
private String cminmsgsSubsystemSubtype;
@Column(name="CMINMSGS_SUBSYSTEM_TYPE")
private String cminmsgsSubsystemType;
public CminmsgTest() {
}
public long getCminmsgsId() {
return this.cminmsgsId;
}
public void setCminmsgsId(long cminmsgsId) {
this.cminmsgsId = cminmsgsId;
}
public String getCminmsgsClobMsg() {
return this.cminmsgsClobMsg;
}
public void setCminmsgsClobMsg(String cminmsgsClobMsg) {
this.cminmsgsClobMsg = cminmsgsClobMsg;
}
public Date getCminmsgsDateProcessed() {
return this.cminmsgsDateProcessed;
}
public void setCminmsgsDateProcessed(Date cminmsgsDateProcessed) {
this.cminmsgsDateProcessed = cminmsgsDateProcessed;
}
public Date getCminmsgsDateReceived() {
return this.cminmsgsDateReceived;
}
public void setCminmsgsDateReceived(Date cminmsgsDateReceived) {
this.cminmsgsDateReceived = cminmsgsDateReceived;
}
public String getCminmsgsStatus() {
return this.cminmsgsStatus;
}
public void setCminmsgsStatus(String cminmsgsStatus) {
this.cminmsgsStatus = cminmsgsStatus;
}
public Date getCminmsgsSubsystemDateSent() {
return this.cminmsgsSubsystemDateSent;
}
public void setCminmsgsSubsystemDateSent(Date cminmsgsSubsystemDateSent) {
this.cminmsgsSubsystemDateSent = cminmsgsSubsystemDateSent;
}
public String getCminmsgsSubsystemName() {
return this.cminmsgsSubsystemName;
}
public void setCminmsgsSubsystemName(String cminmsgsSubsystemName) {
this.cminmsgsSubsystemName = cminmsgsSubsystemName;
}
public String getCminmsgsSubsystemSequence() {
return this.cminmsgsSubsystemSequence;
}
public void setCminmsgsSubsystemSequence(String cminmsgsSubsystemSequence) {
this.cminmsgsSubsystemSequence = cminmsgsSubsystemSequence;
}
public String getCminmsgsSubsystemSubtype() {
return this.cminmsgsSubsystemSubtype;
}
public void setCminmsgsSubsystemSubtype(String cminmsgsSubsystemSubtype) {
this.cminmsgsSubsystemSubtype = cminmsgsSubsystemSubtype;
}
public String getCminmsgsSubsystemType() {
return this.cminmsgsSubsystemType;
}
public void setCminmsgsSubsystemType(String cminmsgsSubsystemType) {
this.cminmsgsSubsystemType = cminmsgsSubsystemType;
}
}
@@ -13,6 +13,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser.Feature;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonMappingException;
@@ -103,6 +104,10 @@ public class ExchangeServiceImpl implements IExchangeService {
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
xmlMapper.setAnnotationIntrospector(new JaxbAnnotationIntrospector(TypeFactory.defaultInstance()));
//tofix: 暂时单独对BDPB做容错处理 ,可能为 jackson xml 的bug 或配置问题
xmlStr = xmlStr.replace("<BDPB>\n</BDPB>", "<BDPB></BDPB>");
return xmlMapper.readValue(xmlStr, MSG.class);
} catch (Exception e) {
throw new ExchangeServiceException(e.getMessage(),e);