Author: bmaxwell
Date: 2011-04-14 23:21:26 -0400 (Thu, 14 Apr 2011)
New Revision: 14115
Modified:
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/tools/wsdl/WSDLGenerator.java
Log:
[JBPAPP-6253] backport - implementing support for protocol in wsprovide
Property changes on: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java
___________________________________________________________________
Added: svn:mergeinfo
+ /stack/native/trunk/modules/core/src/main/java:11162
Modified:
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java
===================================================================
---
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java 2011-04-15
03:20:38 UTC (rev 14114)
+++
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java 2011-04-15
03:21:26 UTC (rev 14115)
@@ -83,6 +83,7 @@
public class JAXWSWebServiceMetaDataBuilder extends JAXWSServerMetaDataBuilder
{
private boolean generateWsdl = true;
+ private boolean extension;
private boolean toolMode = false;
private File wsdlDirectory = null;
private PrintStream messageStream = null;
@@ -100,6 +101,11 @@
{
this.generateWsdl = generateWsdl;
}
+
+ public void setExtension(boolean extension)
+ {
+ this.extension = extension;
+ }
public ServerEndpointMetaData buildWebServiceMetaData(Deployment dep, UnifiedMetaData
wsMetaData, Class<?> sepClass, String linkName)
{
@@ -365,6 +371,7 @@
try
{
WSDLGenerator generator = new JAXBWSDLGenerator(jaxbCtx);
+ generator.setExtension(extension);
WSDLDefinitionsFactory factory = WSDLDefinitionsFactory.newInstance();
if (wsdlLocation != null)
{
Modified:
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java
===================================================================
---
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java 2011-04-15
03:20:38 UTC (rev 14114)
+++
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java 2011-04-15
03:21:26 UTC (rev 14115)
@@ -45,11 +45,12 @@
final class JBossWSProviderImpl extends WSContractProvider
{
private ClassLoader loader;
- private boolean generateWsdl = false;
- private boolean generateSource = false;
+ private boolean generateWsdl;
+ private boolean extension;
+ private boolean generateSource;
private File outputDir = new File("output");
- private File resourceDir = null;
- private File sourceDir = null;
+ private File resourceDir;
+ private File sourceDir;
private PrintStream messageStream = new NullPrintStream();
private void createDirectories(File resourceDir, File sourceDir)
@@ -94,7 +95,8 @@
builder.setGenerateWsdl(generateWsdl);
builder.setToolMode(true);
builder.setWsdlDirectory(resourceDir);
- builder.setMessageStream(messageStream);
+ builder.setMessageStream(messageStream);
+ builder.setExtension(extension);
if (generateWsdl)
messageStream.println("Generating WSDL:");
@@ -140,6 +142,12 @@
this.generateWsdl = generateWsdl;
}
+ //@Override
+ public void setExtension(boolean extension)
+ {
+ this.extension = extension;
+ }
+
@Override
public void setOutputDirectory(File directory)
{
Modified:
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/tools/wsdl/WSDLGenerator.java
===================================================================
---
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/tools/wsdl/WSDLGenerator.java 2011-04-15
03:20:38 UTC (rev 14114)
+++
stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/tools/wsdl/WSDLGenerator.java 2011-04-15
03:21:26 UTC (rev 14115)
@@ -81,6 +81,8 @@
public abstract class WSDLGenerator
{
protected WSDLDefinitions wsdl;
+
+ protected boolean extension;
protected abstract void processTypes();
@@ -110,6 +112,8 @@
QName bindingQName = new QName(interfaceQName.getNamespaceURI(),
interfaceQName.getLocalPart() + "Binding");
WSDLBinding wsdlBinding = new WSDLBinding(wsdl, bindingQName);
wsdlBinding.setInterfaceName(interfaceQName);
+ if (extension)
+ endpoint.setBindingId(SOAPBinding.SOAP12HTTP_BINDING);
wsdlBinding.setType(endpoint.getBindingId());
wsdl.addBinding(wsdlBinding);
wsdlEndpoint.setBinding(bindingQName);
@@ -424,6 +428,16 @@
wsdlService.setInterfaceName(endpoint.getPortName());
}
+
+ /**
+ * Whether to force SOAP 1.2
+ *
+ * @param extension whether to force SOAP 1.2
+ */
+ public void setExtension(boolean extension)
+ {
+ this.extension = extension;
+ }
/**
* Generate a WSDL object model from the passed in ServiceMetaData.
@@ -455,26 +469,30 @@
}
}
- String soapURI = null;
- String soapPrefix = null;
- for (EndpointMetaData ep : service.getEndpoints())
+ String soapPrefix = extension ? "soap12" : null;
+ String soapURI = extension ? Constants.NS_SOAP12 : null;
+ if (!extension)
{
- String bindingId = ep.getBindingId();
- if (bindingId.startsWith(SOAPBinding.SOAP11HTTP_BINDING))
+ for (EndpointMetaData ep : service.getEndpoints())
{
- soapPrefix = "soap";
- soapURI = Constants.NS_SOAP11;
+ String bindingId = ep.getBindingId();
+ if (bindingId.startsWith(SOAPBinding.SOAP11HTTP_BINDING))
+ {
+ soapPrefix = "soap";
+ soapURI = Constants.NS_SOAP11;
+ }
+ else if (bindingId.startsWith(SOAPBinding.SOAP12HTTP_BINDING))
+ {
+ soapPrefix = "soap12";
+ soapURI = Constants.NS_SOAP12;
+ }
+
}
- else if (bindingId.startsWith(SOAPBinding.SOAP12HTTP_BINDING))
- {
- soapPrefix = "soap12";
- soapURI = Constants.NS_SOAP12;
- }
}
if (soapURI != null && soapPrefix != null)
wsdl.registerNamespaceURI(soapURI, soapPrefix);
-
+
processTypes();
processService(service);
Show replies by date