diff options
Diffstat (limited to 'sandbox/sebastien/java/embed/samples/implementation-extension/src/main/java/sample')
-rw-r--r-- | sandbox/sebastien/java/embed/samples/implementation-extension/src/main/java/sample/impl/SampleImplementationProcessor.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/sandbox/sebastien/java/embed/samples/implementation-extension/src/main/java/sample/impl/SampleImplementationProcessor.java b/sandbox/sebastien/java/embed/samples/implementation-extension/src/main/java/sample/impl/SampleImplementationProcessor.java index cd7767672f..6017030d35 100644 --- a/sandbox/sebastien/java/embed/samples/implementation-extension/src/main/java/sample/impl/SampleImplementationProcessor.java +++ b/sandbox/sebastien/java/embed/samples/implementation-extension/src/main/java/sample/impl/SampleImplementationProcessor.java @@ -140,7 +140,7 @@ public class SampleImplementationProcessor extends BaseStAXArtifactProcessor imp static WSDLInterface resolve(final QName name, final ModelResolver res, final ProcessorContext ctx, final WSDLFactory wif) throws ContributionResolveException { final WSDLInterface wi = res.resolveModel(WSDLInterface.class, interfaze(name, wif), ctx); if(!wi.isUnresolved()) - return wi; + return domBound(wi); final WSDLDefinition wd = res.resolveModel(WSDLDefinition.class, definition(wi.getName(), wif), ctx); if(wd.isUnresolved()) @@ -152,11 +152,23 @@ public class SampleImplementationProcessor extends BaseStAXArtifactProcessor imp try { final WSDLInterface nwi = wif.createWSDLInterface(pt.getElement(), wd, res, ctx.getMonitor()); nwi.setWsdlDefinition(wd); - nwi.resetDataBinding(DOMDataBinding.NAME); res.addModel(nwi, ctx); - return nwi; + return domBound(nwi); } catch(InvalidInterfaceException e) { throw new ContributionResolveException(e); } } + + /** + * Return a WSDL interface configured to use a DOM databinding. + */ + static WSDLInterface domBound(WSDLInterface wi) throws ContributionResolveException { + try { + final WSDLInterface domwi = (WSDLInterface)wi.clone(); + domwi.resetDataBinding(DOMDataBinding.NAME); + return domwi; + } catch(CloneNotSupportedException e) { + throw new ContributionResolveException(e); + } + } } |