diff options
Diffstat (limited to 'src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java')
-rw-r--r-- | src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java index 90ca08e5..1cba1a11 100644 --- a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,6 +33,8 @@ import com.sun.xml.internal.ws.binding.SOAPBindingImpl; import com.sun.xml.internal.ws.binding.WebServiceFeatureList; import com.sun.xml.internal.ws.model.SOAPSEIModel; +import javax.xml.ws.WebServiceFeature; + /** * {@link PortInfo} that has {@link SEIModel}. * @@ -46,27 +48,37 @@ import com.sun.xml.internal.ws.model.SOAPSEIModel; * @author Kohsuke Kawaguchi */ public final class SEIPortInfo extends PortInfo { + public final Class sei; + /** * Model of {@link #sei}. */ public final SOAPSEIModel model; public SEIPortInfo(WSServiceDelegate owner, Class sei, SOAPSEIModel model, @NotNull WSDLPort portModel) { - super(owner,portModel); + super(owner, portModel); this.sei = sei; this.model = model; - assert sei!=null && model!=null; + assert sei != null && model != null; + } + + @Override + public BindingImpl createBinding(WebServiceFeature[] webServiceFeatures, Class<?> portInterface) { + BindingImpl binding = super.createBinding(webServiceFeatures, portInterface); + return setKnownHeaders(binding); } public BindingImpl createBinding(WebServiceFeatureList webServiceFeatures, Class<?> portInterface) { // not to pass in (BindingImpl) model.getWSBinding() - BindingImpl bindingImpl = super.createBinding(webServiceFeatures, portInterface, null); - if(bindingImpl instanceof SOAPBindingImpl) { - ((SOAPBindingImpl)bindingImpl).setPortKnownHeaders(model.getKnownHeaders()); + BindingImpl binding = super.createBinding(webServiceFeatures, portInterface, null); + return setKnownHeaders(binding); + } + + private BindingImpl setKnownHeaders(BindingImpl binding) { + if (binding instanceof SOAPBindingImpl) { + ((SOAPBindingImpl) binding).setPortKnownHeaders(model.getKnownHeaders()); } - //Not needed as set above in super.createBinding() call - //bindingImpl.setFeatures(webServiceFeatures); - return bindingImpl; + return binding; } } |