1 16 package org.apache.axis.tools.ant.wsdl; 17 18 import org.apache.axis.encoding.TypeMapping; 19 import org.apache.axis.encoding.ser.BaseSerializerFactory; 20 import org.apache.axis.encoding.ser.BaseDeserializerFactory; 21 import javax.xml.rpc.encoding.SerializerFactory ; 22 import javax.xml.rpc.encoding.DeserializerFactory ; 23 import javax.xml.namespace.QName ; 24 25 public class ComplexType { 26 private String className; 27 private String serializer = 28 "org.apache.axis.encoding.ser.BeanSerializerFactory"; 29 private String deserializer = 30 "org.apache.axis.encoding.ser.BeanDeserializerFactory"; 31 private String namespace; 32 33 public ComplexType() {} 34 35 public void setClassName(String className) { 36 this.className = className; 37 } 38 39 public void setSerializer(String serializer) { 40 this.serializer = serializer; 41 } 42 43 public void setDeserializer(String deserializer) { 44 this.deserializer = deserializer; 45 } 46 47 public void setNameSpace(String namespace) { 48 this.namespace = namespace; 49 } 50 51 public void register(TypeMapping tm) throws ClassNotFoundException { 52 Class cl = Class.forName(className); 53 String localName = className.substring((className.lastIndexOf(".") + 1)); 54 QName qName = new QName (namespace,localName); 55 SerializerFactory sf = BaseSerializerFactory.createFactory( 56 Class.forName(serializer), cl, qName); 57 DeserializerFactory df = BaseDeserializerFactory.createFactory( 58 Class.forName(deserializer), cl, qName); 59 60 tm.register(cl, qName, sf, df); 61 } 62 } | Popular Tags |