001 package railo.runtime.net.rpc; 002 003 import javax.xml.namespace.QName; 004 import javax.xml.rpc.encoding.TypeMapping; 005 import javax.xml.rpc.encoding.TypeMappingRegistry; 006 007 import org.apache.axis.encoding.ser.BeanDeserializerFactory; 008 import org.apache.axis.encoding.ser.BeanSerializerFactory; 009 010 import coldfusion.xml.rpc.QueryBean; 011 012 public class TypeMappingUtil { 013 014 public static void registerDefaults(TypeMappingRegistry tmr) { 015 TypeMapping tm = tmr.getDefaultTypeMapping(); 016 if(!tm.isRegistered(QueryBean.class, RPCConstants.QUERY_QNAME)) 017 tm.register(QueryBean.class, 018 RPCConstants.QUERY_QNAME, 019 new BeanSerializerFactory(QueryBean.class,RPCConstants.QUERY_QNAME), 020 new BeanDeserializerFactory(QueryBean.class,RPCConstants.QUERY_QNAME)); 021 } 022 023 public static void registerBeanTypeMapping(javax.xml.rpc.encoding.TypeMapping tm, Class clazz, QName qName) { 024 025 if(tm.isRegistered(clazz, qName)) return; 026 tm.register( 027 clazz, 028 qName, 029 new BeanSerializerFactory(clazz, qName), 030 new BeanDeserializerFactory(clazz, qName)); 031 032 033 } 034 035 }