From bd5fc8191d8c6612aaab5aeb275b7375920136a9 Mon Sep 17 00:00:00 2001
From: zhouxiunai <154707516@qq.com>
Date: Mon, 7 Jan 2019 17:28:33 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E6=8D=A2cmoutmsg=E6=B6=88=E6=81=AF?=
=?UTF-8?q?=E7=9A=84xml=20=E5=8E=BB=E9=99=A4=E5=A4=9A=E4=BD=99=E7=9A=84?=
=?UTF-8?q?=E7=A9=BA=E6=A0=87=E7=AD=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 6 +++
.../omms/msgexchangeapi/entity/msg/MSG.java | 3 ++
.../service/CmoutmsgServiceImpl.java | 2 +-
.../service/exchange/ExchangeServiceImpl.java | 39 ++++++++++++++++++-
.../service/exchange/IExchangeService.java | 2 +
5 files changed, 50 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index f32a36d7..3257dfe7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,6 +57,12 @@
+
+ com.fasterxml.woodstox
+ woodstox-core
+ 5.1.0
+
+
com.oracle
ojdbc6
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/MSG.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/MSG.java
index 0498cf62..5231ca0b 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/MSG.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entity/msg/MSG.java
@@ -8,6 +8,8 @@
package com.gzzn.omms.msgexchangeapi.entity.msg;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import java.io.Serializable;
import java.util.ArrayList;
@@ -184,6 +186,7 @@ public class MSG
implements Serializable
{
+
private final static long serialVersionUID = 1L;
@XmlElement(name = "META", required = true)
@JsonProperty("META")
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/CmoutmsgServiceImpl.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/CmoutmsgServiceImpl.java
index 69d9e2c5..5c76c25a 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/service/CmoutmsgServiceImpl.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/CmoutmsgServiceImpl.java
@@ -57,7 +57,7 @@ public class CmoutmsgServiceImpl implements ICmoutmsgService {
//发送消息到数据库
Cmoutmsg cmoutmsg = new Cmoutmsg();
cmoutmsg.setCoutmsgsDateInserted(new Date());
- cmoutmsg.setCoutmsgsClobMsg(exchangeService.objectToXmlstr(rqfdMsg));
+ cmoutmsg.setCoutmsgsClobMsg(exchangeService.getCoutmsgsClobMsg(rqfdMsg));
cmoutmsg.setRoutingid(SUBSYSTEMS.OSH5RQFD.name());
Cmoutmsg rtCmoutmsg = cmoutmsgDao.save(cmoutmsg);
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/exchange/ExchangeServiceImpl.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/exchange/ExchangeServiceImpl.java
index 06e3f470..b6bd34f7 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/service/exchange/ExchangeServiceImpl.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/exchange/ExchangeServiceImpl.java
@@ -1,9 +1,15 @@
package com.gzzn.omms.msgexchangeapi.service.exchange;
import java.io.IOException;
+import java.io.StringWriter;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamWriter;
import org.springframework.stereotype.Service;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationFeature;
@@ -44,7 +50,6 @@ public class ExchangeServiceImpl implements IExchangeService {
@Override
public String objectToXmlstr(Object object) throws ExchangeServiceException {
-
try {
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);
@@ -54,4 +59,36 @@ public class ExchangeServiceImpl implements IExchangeService {
throw new ExchangeServiceException(e.getMessage(),e);
}
}
+
+ @Override
+ public String getCoutmsgsClobMsg(MSG msg) {
+ try {
+ // First create Stax components we need
+ XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory();
+ XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newFactory();
+
+ StringWriter out = new StringWriter();
+ XMLStreamWriter sw = xmlOutputFactory.createXMLStreamWriter(out);
+
+ // then Jackson components
+ XmlMapper mapper = new XmlMapper(xmlInputFactory);
+ mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+
+
+ sw.writeStartDocument();
+ sw.writeStartElement("MSG");
+ sw.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
+ sw.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "noNamespaceSchemaLocation", "unisysaodbsis.xsd");
+
+ // Write whatever content POJOs...
+ mapper.writeValue(sw, msg.getMETA());
+ mapper.writeValue(sw, msg.getRQFD());
+
+ sw.writeEndDocument();
+
+ return out.toString();
+ } catch (Exception e) {
+ throw new ExchangeServiceException(e.getMessage(),e);
+ }
+ }// end function
}
diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/exchange/IExchangeService.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/exchange/IExchangeService.java
index 28d50485..8b62367e 100644
--- a/src/main/java/com/gzzn/omms/msgexchangeapi/service/exchange/IExchangeService.java
+++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/exchange/IExchangeService.java
@@ -1,5 +1,6 @@
package com.gzzn.omms.msgexchangeapi.service.exchange;
+import com.gzzn.omms.msgexchangeapi.entity.msg.MSG;
import com.gzzn.omms.msgexchangeapi.exception.ExchangeServiceException;
/**
@@ -11,4 +12,5 @@ public interface IExchangeService {
public String xmlstrToJson(String xml) throws ExchangeServiceException;
public T xmlstrToObject(String xml,Class valueType) throws ExchangeServiceException;
public String objectToXmlstr(Object object) throws ExchangeServiceException;
+ public String getCoutmsgsClobMsg(MSG msg) throws ExchangeServiceException;
}