1 package org.objectweb.celtix.bus.jaxws.io; 2 3 import javax.xml.namespace.QName ; 4 import javax.xml.soap.SOAPException ; 5 import javax.xml.soap.SOAPMessage ; 6 import javax.xml.transform.dom.DOMSource ; 7 import javax.xml.transform.sax.SAXSource ; 8 import javax.xml.transform.stream.StreamSource ; 9 10 import org.objectweb.celtix.bindings.DataWriter; 11 import org.objectweb.celtix.bus.jaxws.DynamicDataBindingCallback; 12 import org.objectweb.celtix.context.ObjectMessageContext; 13 14 public class SOAPMessageDataWriter<T> implements DataWriter<T> { 15 16 protected SOAPMessage dest; 17 final DynamicDataBindingCallback callback; 18 19 20 public SOAPMessageDataWriter(DynamicDataBindingCallback cb) { 21 callback = cb; 22 } 23 24 public void write(Object obj, T output) { 25 dest = (SOAPMessage )output; 26 try { 27 if (DOMSource .class.isAssignableFrom(obj.getClass())) { 28 DOMSource src = (DOMSource )obj; 29 dest.getSOAPPart().setContent(src); 30 } else if (SAXSource .class.isAssignableFrom(obj.getClass())) { 31 SAXSource src = (SAXSource )obj; 32 dest.getSOAPPart().setContent(src); 33 } else if (StreamSource .class.isAssignableFrom(obj.getClass())) { 34 StreamSource src = (StreamSource )obj; 35 dest.getSOAPPart().setContent(src); 36 } 37 } catch (SOAPException se) { 38 } 40 } 41 42 public void write(Object obj, QName elName, T output) { 43 } 45 46 public void writeWrapper(ObjectMessageContext objCtx, boolean isOutbound, T output) { 47 } 49 50 } 51 | Popular Tags |