You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2008/03/13 02:48:45 UTC
svn commit: r636600 -
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java
Author: dims
Date: Wed Mar 12 18:48:40 2008
New Revision: 636600
URL: http://svn.apache.org/viewvc?rev=636600&view=rev
Log:
Fix for AXIS2-3148 - Endpoint Extension handling bug in WSDL20ToAxisServiceBuilder
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java?rev=636600&r1=636599&r2=636600&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java Wed Mar 12 18:48:40 2008
@@ -64,6 +64,7 @@
import org.apache.woden.wsdl20.extensions.http.HTTPBindingFaultExtensions;
import org.apache.woden.wsdl20.extensions.http.HTTPBindingMessageReferenceExtensions;
import org.apache.woden.wsdl20.extensions.http.HTTPBindingOperationExtensions;
+import org.apache.woden.wsdl20.extensions.http.HTTPEndpointExtensions;
import org.apache.woden.wsdl20.extensions.http.HTTPHeader;
import org.apache.woden.wsdl20.extensions.http.HTTPLocation;
import org.apache.woden.wsdl20.extensions.rpc.RPCInterfaceOperationExtensions;
@@ -383,32 +384,57 @@
AxisEndpoint axisEndpoint = new AxisEndpoint();
axisEndpoint.setName(endpoint.getName().toString());
axisEndpoint.setEndpointURL(endpoint.getAddress().toString());
- if (processedBindings.containsKey(endpoint.getBinding().getName())) {
- axisEndpoint.setBinding(
- (AxisBinding) processedBindings.get(endpoint.getBinding().getName()));
+ Binding binding = endpoint.getBinding();
+ AxisBinding axisBinding = null;
+ if (processedBindings.containsKey(binding.getName())) {
+ axisBinding = (AxisBinding) processedBindings.get(binding.getName());
} else {
- axisEndpoint.setBinding(processBinding(endpoint.getBinding(), serviceInterface));
+ axisBinding = processBinding(binding, serviceInterface);
}
+ axisEndpoint.setBinding(axisBinding);
+
+ String bindingType = binding.getType().toString();
+ if (bindingType.equals(WSDL2Constants.URI_WSDL2_SOAP)) {
+ processSOAPBindingEndpointExtensions(endpoint, axisEndpoint);
+ } else if (bindingType.equals(WSDL2Constants.URI_WSDL2_HTTP)) {
+ processHTTPBindingEndpointExtensions(endpoint, axisEndpoint);
+ }
+ addDocumentation(axisEndpoint, endpoint.toElement());
+ return axisEndpoint;
+ }
- SOAPEndpointExtensions soapEndpointExtensions;
+ private void processSOAPBindingEndpointExtensions(Endpoint endpoint, AxisEndpoint axisEndpoint) throws AxisFault {
+ SOAPEndpointExtensions soapEndpointExtensions = null;
try {
soapEndpointExtensions = (SOAPEndpointExtensions) endpoint
.getComponentExtensionContext(new URI(WSDL2Constants.URI_WSDL2_SOAP));
} catch (URISyntaxException e) {
- throw new AxisFault("HTTP Binding Extention not found");
+ throw new AxisFault("SOAP Binding Endpoint Extension not found");
}
if (soapEndpointExtensions != null) {
-
axisEndpoint.setProperty(WSDL2Constants.ATTR_WHTTP_AUTHENTICATION_TYPE,
soapEndpointExtensions.getHttpAuthenticationScheme());
axisEndpoint.setProperty(WSDL2Constants.ATTR_WHTTP_AUTHENTICATION_REALM,
soapEndpointExtensions.getHttpAuthenticationRealm());
+ }
+ }
+ private void processHTTPBindingEndpointExtensions(Endpoint endpoint, AxisEndpoint axisEndpoint) throws AxisFault {
+ HTTPEndpointExtensions httpEndpointExtensions = null;
+ try {
+ httpEndpointExtensions = (HTTPEndpointExtensions) endpoint
+ .getComponentExtensionContext(new URI(WSDL2Constants.URI_WSDL2_HTTP));
+ } catch (URISyntaxException e) {
+ throw new AxisFault("HTTP Binding Endpoint Extension not found");
}
- addDocumentation(axisEndpoint, endpoint.toElement());
- return axisEndpoint;
+ if (httpEndpointExtensions != null) {
+ axisEndpoint.setProperty(WSDL2Constants.ATTR_WHTTP_AUTHENTICATION_TYPE,
+ httpEndpointExtensions.getHttpAuthenticationScheme());
+ axisEndpoint.setProperty(WSDL2Constants.ATTR_WHTTP_AUTHENTICATION_REALM,
+ httpEndpointExtensions.getHttpAuthenticationRealm());
+ }
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org