aboutsummaryrefslogtreecommitdiff
path: root/src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java
diff options
context:
space:
mode:
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.java30
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;
}
}