You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2016/05/26 21:45:45 UTC
[17/50] [abbrv] cxf git commit: Adding outbound serializing
functionality
Adding outbound serializing functionality
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/bba546b4
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/bba546b4
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/bba546b4
Branch: refs/heads/master-jaxrs-2.1
Commit: bba546b4cdde6ff35f935a0bef30394fd4fc0e52
Parents: c29c334
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Fri May 20 11:44:12 2016 +0100
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Fri May 20 14:01:19 2016 +0100
----------------------------------------------------------------------
.../cxf/ws/security/wss4j/StaxSerializer.java | 26 ++++++++++++++++++++
1 file changed, 26 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/bba546b4/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/StaxSerializer.java
----------------------------------------------------------------------
diff --git a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/StaxSerializer.java b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/StaxSerializer.java
index 9af3d2f..cc9045b 100644
--- a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/StaxSerializer.java
+++ b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/StaxSerializer.java
@@ -19,16 +19,20 @@
package org.apache.cxf.ws.security.wss4j;
import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.StringReader;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.dom.DOMSource;
import org.w3c.dom.Document;
import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.apache.cxf.staxutils.StaxUtils;
@@ -61,6 +65,28 @@ public class StaxSerializer extends AbstractSerializer {
String fragment = createContext(source, ctx);
return deserialize(ctx, new InputSource(new StringReader(fragment)));
}
+
+ @Override
+ public byte[] serializeToByteArray(Element element) throws Exception {
+ try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
+ XMLStreamWriter writer = StaxUtils.createXMLStreamWriter(baos);
+ StaxUtils.copy(element, writer);
+ writer.close();
+ return baos.toByteArray();
+ }
+ }
+
+ @Override
+ public byte[] serializeToByteArray(NodeList content) throws Exception {
+ try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
+ XMLStreamWriter writer = StaxUtils.createXMLStreamWriter(baos);
+ for (int i = 0; i < content.getLength(); i++) {
+ StaxUtils.copy(new DOMSource(content.item(i)), writer);
+ }
+ writer.close();
+ return baos.toByteArray();
+ }
+ }
/**
* @param ctx