private ExtensionRegistry getExtentionRegistry() {
// Use IBM's implementation as a base registry. They have implemented
// extensibility objects for SOAP,HTTP,MIME and we should not
// loose these functions.
ExtensionRegistry er = new com.ibm.wsdl.extensions.PopulatedExtensionRegistry();
BPELPropertySerializer bpelPropSerializer = new BPELPropertySerializer();
BPELPropertyAliasSerializer bpelPropAliasSerializer = new BPELPropertyAliasSerializer();
BPEActionSerializer bpeActionSerializer = new BPEActionSerializer();
BPEInputSerializer bpeInputSerializer = new BPEInputSerializer();
BPEOutputSerializer bpeOutputSerializer = new BPEOutputSerializer();
BPEFaultSerializer bpeFaultSerializer = new BPEFaultSerializer();
BPEVariableMapSerializer bpeVariableSerializer = new BPEVariableMapSerializer();
// Register the BPEL extension points
er.registerSerializer(Definition.class, ExtentionConstants.Q_ELEM_BPEL_PROPERTY, bpelPropSerializer);
er.registerDeserializer(Definition.class, ExtentionConstants.Q_ELEM_BPEL_PROPERTY, bpelPropSerializer);
er.mapExtensionTypes(Definition.class, ExtentionConstants.Q_ELEM_BPEL_PROPERTY, BPELProperty.class);
er.registerSerializer(Definition.class, ExtentionConstants.Q_ELEM_BPEL_PROPERTY_ALIAS, bpelPropAliasSerializer);
er.registerDeserializer(Definition.class, ExtentionConstants.Q_ELEM_BPEL_PROPERTY_ALIAS,
bpelPropAliasSerializer);
er.mapExtensionTypes(Definition.class, ExtentionConstants.Q_ELEM_BPEL_PROPERTY_ALIAS, BPELPropertyAlias.class);
// register the BPE extension points
er.registerSerializer(BindingOperation.class, ExtentionConstants.Q_ELEM_BPE_ACTION, bpeActionSerializer);
er.registerDeserializer(BindingOperation.class, ExtentionConstants.Q_ELEM_BPE_ACTION, bpeActionSerializer);
er.mapExtensionTypes(BindingOperation.class, ExtentionConstants.Q_ELEM_BPE_ACTION, BPEAction.class);
er.registerSerializer(BindingInput.class, ExtentionConstants.Q_ELEM_BPE_INPUT, bpeInputSerializer);
er.registerDeserializer(BindingInput.class, ExtentionConstants.Q_ELEM_BPE_INPUT, bpeInputSerializer);
er.mapExtensionTypes(BindingInput.class, ExtentionConstants.Q_ELEM_BPE_INPUT, BPEInput.class);
er.registerSerializer(BindingOutput.class, ExtentionConstants.Q_ELEM_BPE_OUTPUT, bpeOutputSerializer);
er.registerDeserializer(BindingOutput.class, ExtentionConstants.Q_ELEM_BPE_OUTPUT, bpeOutputSerializer);
er.mapExtensionTypes(BindingOutput.class, ExtentionConstants.Q_ELEM_BPE_OUTPUT, BPEOutput.class);
er.registerSerializer(BindingFault.class, ExtentionConstants.Q_ELEM_BPE_FAULT, bpeFaultSerializer);
er.registerDeserializer(BindingFault.class, ExtentionConstants.Q_ELEM_BPE_FAULT, bpeFaultSerializer);
er.mapExtensionTypes(BindingFault.class, ExtentionConstants.Q_ELEM_BPE_FAULT, BPEFault.class);
er.registerSerializer(Definition.class, ExtentionConstants.Q_ELEM_BPE_VAR, bpeVariableSerializer);
er.registerDeserializer(Definition.class, ExtentionConstants.Q_ELEM_BPE_VAR, bpeVariableSerializer);
er.mapExtensionTypes(Definition.class, ExtentionConstants.Q_ELEM_BPE_VAR, BPEVariableMap.class);
return er;
}