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 ke...@apache.org on 2007/07/02 16:35:45 UTC
svn commit: r552506 - in
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2:
description/AxisService2WSDL11.java description/AxisService2WSDL20.java
util/WSDLSerializationUtil.java
Author: keithc
Date: Mon Jul 2 07:35:44 2007
New Revision: 552506
URL: http://svn.apache.org/viewvc?view=rev&rev=552506
Log:
Fixing AXIS2-2734. Disabling http binding and endpoint generation in WSDL when REST is disabled.
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java?view=diff&rev=552506&r1=552505&r2=552506
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL11.java Mon Jul 2 07:35:44 2007
@@ -31,6 +31,7 @@
import org.apache.axis2.util.PolicyUtil;
import org.apache.axis2.util.XMLUtils;
import org.apache.axis2.util.WSDLSerializationUtil;
+import org.apache.axis2.util.JavaUtils;
import org.apache.axis2.wsdl.SOAPHeaderMessage;
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.axis2.description.java2wsdl.Java2WSDLConstants;
@@ -142,6 +143,14 @@
namespaceMap.put(prefix, axisService.getTargetNamespace());
tns = ele.declareNamespace(axisService.getTargetNamespace(), prefix);
+ boolean disableREST = false;
+ Parameter disableRESTParameter =
+ axisService.getParameter(org.apache.axis2.Constants.Configuration.DISABLE_REST);
+ if (disableRESTParameter != null &&
+ JavaUtils.isTrueExplicitly(disableRESTParameter.getValue())) {
+ disableREST = true;
+ }
+
// adding documentation element
// <documentation><b>NEW!</b> This method accepts an ISBN
// string and returns <b>Amazon.co.uk</b> Sales Rank for
@@ -177,9 +186,11 @@
generatePortType(fac, ele);
generateSOAP11Binding(fac, ele);
generateSOAP12Binding(fac, ele);
- generateHTTPBinding(fac, ele);
+ if (!disableREST) {
+ generateHTTPBinding(fac, ele);
+ }
- generateService(fac, ele);
+ generateService(fac, ele, disableREST);
addPoliciesToDefinitionElement(policiesInDefinitions.values()
.iterator(), definition);
@@ -406,7 +417,7 @@
/**
* Generate the service
*/
- public void generateService(OMFactory fac, OMElement defintions)
+ public void generateService(OMFactory fac, OMElement defintions, boolean disableREST)
throws Exception {
OMElement service = fac.createOMElement(SERVICE_LOCAL_NAME, wsdl);
defintions.addChild(service);
@@ -416,7 +427,9 @@
addPolicyAsExtElement(PolicyInclude.SERVICE_POLICY, axisService
.getPolicyInclude(), service, fac);
+ if (!disableREST) {
generateHTTPPorts(fac, service);
+ }
}
private void generateSOAP11Ports(OMFactory fac, OMElement service)
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java?view=diff&rev=552506&r1=552505&r2=552506
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java Mon Jul 2 07:35:44 2007
@@ -27,7 +27,9 @@
import org.apache.axiom.om.OMText;
import org.apache.axis2.util.XMLUtils;
import org.apache.axis2.util.WSDLSerializationUtil;
+import org.apache.axis2.util.JavaUtils;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.ws.commons.schema.XmlSchema;
@@ -179,6 +181,14 @@
// Add the interface element
descriptionElement.addChild(getInterfaceElement(wsdl, tns, wsdlx, omFactory, interfaceName));
+ boolean disableREST = false;
+ Parameter disableRESTParameter =
+ axisService.getParameter(Constants.Configuration.DISABLE_REST);
+ if (disableRESTParameter != null &&
+ JavaUtils.isTrueExplicitly(disableRESTParameter.getValue())) {
+ disableREST = true;
+ }
+
// Check whether the axisService has any endpoints. If they exists serialize them else
// generate default endpoint elements.
Set bindings = new HashSet();
@@ -197,7 +207,14 @@
// https then we have two endpoints populated so we should serialize them instead
// of updating the endpoints.
AxisEndpoint axisEndpoint = (AxisEndpoint) iterator.next();
- bindings.add(axisEndpoint.getBinding());
+ AxisBinding axisBinding = axisEndpoint.getBinding();
+ String type = axisBinding.getType();
+ if (WSDL2Constants.URI_WSDL2_HTTP.equals(type)) {
+ if (disableREST) {
+ continue;
+ }
+ }
+ bindings.add(axisBinding);
for (int i = 0; i < eprs.length; i++) {
String epr = eprs[i];
OMElement endpointElement = axisEndpoint.toWSDL20(wsdl, tns, whttp, epr);
@@ -243,12 +260,15 @@
descriptionElement.addChild(
WSDLSerializationUtil.generateSOAP12Binding(omFactory, axisService, wsdl, wsoap,
tns));
- descriptionElement.addChild(
- WSDLSerializationUtil.generateHTTPBinding(omFactory, axisService, wsdl, whttp,
- tns));
+ if (!disableREST) {
+ descriptionElement.addChild(
+ WSDLSerializationUtil.generateHTTPBinding(omFactory, axisService, wsdl,
+ whttp,
+ tns));
+ }
descriptionElement
.addChild(WSDLSerializationUtil.generateServiceElement(omFactory, wsdl, tns,
- axisService));
+ axisService, disableREST));
}
return descriptionElement;
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java?view=diff&rev=552506&r1=552505&r2=552506
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java Mon Jul 2 07:35:44 2007
@@ -272,7 +272,7 @@
* @throws AxisFault - Thrown in case an exception occurs
*/
public static OMElement generateServiceElement(OMFactory omFactory, OMNamespace wsdl, OMNamespace tns,
- AxisService axisService)
+ AxisService axisService, boolean disableREST)
throws AxisFault {
String[] eprs = axisService.getEPRs();
if (eprs == null) {
@@ -315,17 +315,21 @@
soap12EndpointElement.addAttribute(
omFactory.createOMAttribute(WSDL2Constants.ATTRIBUTE_ADDRESS, null, epr));
serviceElement.addChild(soap12EndpointElement);
- OMElement httpEndpointElement =
- omFactory.createOMElement(WSDL2Constants.ENDPOINT_LOCAL_NAME, wsdl);
- httpEndpointElement.addAttribute(omFactory.createOMAttribute(
- WSDL2Constants.ATTRIBUTE_NAME, null,
- name + WSDL2Constants.DEFAULT_HTTP_ENDPOINT_NAME));
- httpEndpointElement.addAttribute(omFactory.createOMAttribute(
- WSDL2Constants.BINDING_LOCAL_NAME, null,
- tns.getPrefix() + ":" + axisService.getName() + Java2WSDLConstants.HTTP_BINDING));
- httpEndpointElement.addAttribute(
- omFactory.createOMAttribute(WSDL2Constants.ATTRIBUTE_ADDRESS, null, epr));
- serviceElement.addChild(httpEndpointElement);
+ OMElement httpEndpointElement = null;
+ if (!disableREST) {
+ httpEndpointElement =
+ omFactory.createOMElement(WSDL2Constants.ENDPOINT_LOCAL_NAME, wsdl);
+ httpEndpointElement.addAttribute(omFactory.createOMAttribute(
+ WSDL2Constants.ATTRIBUTE_NAME, null,
+ name + WSDL2Constants.DEFAULT_HTTP_ENDPOINT_NAME));
+ httpEndpointElement.addAttribute(omFactory.createOMAttribute(
+ WSDL2Constants.BINDING_LOCAL_NAME, null,
+ tns.getPrefix() + ":" + axisService.getName() + Java2WSDLConstants
+ .HTTP_BINDING));
+ httpEndpointElement.addAttribute(
+ omFactory.createOMAttribute(WSDL2Constants.ATTRIBUTE_ADDRESS, null, epr));
+ serviceElement.addChild(httpEndpointElement);
+ }
if (epr.startsWith("https://")) {
OMElement soap11Documentation = omFactory.createOMElement(WSDL2Constants.DOCUMENTATION, wsdl);
soap11Documentation.setText("This endpoint exposes a SOAP 11 binding over a HTTPS");
@@ -333,9 +337,12 @@
OMElement soap12Documentation = omFactory.createOMElement(WSDL2Constants.DOCUMENTATION, wsdl);
soap12Documentation.setText("This endpoint exposes a SOAP 12 binding over a HTTPS");
soap12EndpointElement.addChild(soap12Documentation);
- OMElement httpDocumentation = omFactory.createOMElement(WSDL2Constants.DOCUMENTATION, wsdl);
- httpDocumentation.setText("This endpoint exposes a HTTP binding over a HTTPS");
- httpEndpointElement.addChild(httpDocumentation);
+ if (!disableREST) {
+ OMElement httpDocumentation =
+ omFactory.createOMElement(WSDL2Constants.DOCUMENTATION, wsdl);
+ httpDocumentation.setText("This endpoint exposes a HTTP binding over a HTTPS");
+ httpEndpointElement.addChild(httpDocumentation);
+ }
} else if (epr.startsWith("http://")) {
OMElement soap11Documentation = omFactory.createOMElement(WSDL2Constants.DOCUMENTATION, wsdl);
soap11Documentation.setText("This endpoint exposes a SOAP 11 binding over a HTTP");
@@ -343,9 +350,12 @@
OMElement soap12Documentation = omFactory.createOMElement(WSDL2Constants.DOCUMENTATION, wsdl);
soap12Documentation.setText("This endpoint exposes a SOAP 12 binding over a HTTP");
soap12EndpointElement.addChild(soap12Documentation);
- OMElement httpDocumentation = omFactory.createOMElement(WSDL2Constants.DOCUMENTATION, wsdl);
- httpDocumentation.setText("This endpoint exposes a HTTP binding over a HTTP");
- httpEndpointElement.addChild(httpDocumentation);
+ if (!disableREST) {
+ OMElement httpDocumentation =
+ omFactory.createOMElement(WSDL2Constants.DOCUMENTATION, wsdl);
+ httpDocumentation.setText("This endpoint exposes a HTTP binding over a HTTP");
+ httpEndpointElement.addChild(httpDocumentation);
+ }
}
}
return serviceElement;
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org