package samples.encoding; import org.apache.axis.Constants; import org.apache.axis.encoding.SerializationContext; import org.apache.axis.encoding.Serializer; import org.apache.axis.wsdl.fromJava.Types; import org.w3c.dom.Element; import org.xml.sax.Attributes; import javax.xml.namespace.QName; import java.io.IOException; public class DataSer implements Serializer { public static final String STRINGMEMBER = "stringMember"; public static final String FLOATMEMBER = "floatMember"; public static final String DATAMEMBER = "dataMember"; public static final QName myTypeQName = new QName("typeNS", "Data"); /** SERIALIZER STUFF */ /** * Serialize an element named name, with the indicated attributes * and value. * @param name is the element name * @param attributes are the attributes...serialize is free to add more. * @param value is the value * @param context is the SerializationContext */ public void serialize(QName name, Attributes attributes, Object value, SerializationContext context) throws IOException { if (!(value instanceof Data)) throw new IOException("Can't serialize a " + value.getClass().getName() + " with a DataSerializer."); Data data = (Data)value; context.startElement(name, attributes); context.serialize(new QName("", STRINGMEMBER), null, data.stringMember); context.serialize(new QName("", FLOATMEMBER), null, data.floatMember); context.serialize(new QName("", DATAMEMBER), null, data.dataMember); context.endElement(); } public String getMechanismType() { return Constants.AXIS_SAX; } public Element writeSchema(Class javaType, Types types) throws Exception { return null; } }