} catch (WSDLException e) {
throw new WrappedException(e);
}
}
} else {
ServiceReferenceSerializer serializer = extensionRegistry.getServiceReferenceSerializer(referenceScheme);
if (serializer != null) {
DocumentFragment fragment=document.createDocumentFragment();
serializer.marshall(value, fragment, process, from, this);
Element child = (Element)fragment.getFirstChild();
serviceRefElement.appendChild(child);
} else {
CDATASection cdata = BPELUtils.createCDATASection(document, serviceRef.getValue().toString());
serviceRefElement.appendChild(cdata);