[savara-commits] savara SVN: r61 - in tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl: soap and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Sat Oct 17 16:07:25 EDT 2009
Author: objectiser
Date: 2009-10-17 16:07:25 -0400 (Sat, 17 Oct 2009)
New Revision: 61
Modified:
tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLBinding.java
tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java
tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/soap/SOAPRPCWSDLBinding.java
Log:
Add SOAP binding information.
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLBinding.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLBinding.java 2009-10-17 15:08:04 UTC (rev 60)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLBinding.java 2009-10-17 20:07:25 UTC (rev 61)
@@ -52,7 +52,7 @@
* @param defn The definition
* @param operation The operation
*/
- public void updateOperation(javax.wsdl.Definition defn, javax.wsdl.Operation operation);
+ public void updateOperation(javax.wsdl.Definition defn, javax.wsdl.BindingOperation operation);
/**
* This method adds WSDL binding information to the input.
@@ -60,7 +60,7 @@
* @param defn The definition
* @param input The input
*/
- public void updateInput(javax.wsdl.Definition defn, javax.wsdl.Input input);
+ public void updateInput(javax.wsdl.Definition defn, javax.wsdl.BindingInput input);
/**
* This method adds WSDL binding information to the output.
@@ -68,7 +68,7 @@
* @param defn The definition
* @param output The output
*/
- public void updateOutput(javax.wsdl.Definition defn, javax.wsdl.Output output);
+ public void updateOutput(javax.wsdl.Definition defn, javax.wsdl.BindingOutput output);
/**
* This method adds WSDL binding information to the fault.
@@ -76,6 +76,6 @@
* @param defn The definition
* @param fault The fault
*/
- public void updateFault(javax.wsdl.Definition defn, javax.wsdl.Fault fault);
+ public void updateFault(javax.wsdl.Definition defn, javax.wsdl.BindingFault fault);
}
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java 2009-10-17 15:08:04 UTC (rev 60)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java 2009-10-17 20:07:25 UTC (rev 61)
@@ -234,8 +234,6 @@
wsdlBinding.updateBinding(defn, ret);
}
- // TODO: Need to make binding configurable
-
if (intf.getName() != null) {
ret.setQName(new javax.xml.namespace.QName(intf.getNamespace(),
intf.getName()+SOAP_BINDING_SUFFIX));
@@ -354,12 +352,23 @@
ret = defn.createBindingOperation();
//ret.setUndefined(false);
+ // Check if WSDL operation details
+ if (wsdlBinding != null) {
+ wsdlBinding.updateOperation(defn, ret);
+ }
+
ret.setName(mep.getOperation());
javax.wsdl.Message mesg=getMessage(wsdls, contract, mep.getTypes(), wsdlBinding);
if (mesg != null) {
javax.wsdl.BindingInput input=defn.createBindingInput();
+
+ // Check if WSDL operation details
+ if (wsdlBinding != null) {
+ wsdlBinding.updateInput(defn, input);
+ }
+
ret.setBindingInput(input);
}
@@ -370,6 +379,12 @@
javax.wsdl.Message om=getMessage(wsdls, contract, rr.getResponseTypes(), wsdlBinding);
if (om != null) {
javax.wsdl.BindingOutput output=defn.createBindingOutput();
+
+ // Check if WSDL operation details
+ if (wsdlBinding != null) {
+ wsdlBinding.updateOutput(defn, output);
+ }
+
ret.setBindingOutput(output);
}
@@ -383,6 +398,11 @@
javax.wsdl.BindingFault fault=defn.createBindingFault();
fault.setName(fd.getName());
+ // Check if WSDL operation details
+ if (wsdlBinding != null) {
+ wsdlBinding.updateFault(defn, fault);
+ }
+
ret.addBindingFault(fault);
}
}
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/soap/SOAPRPCWSDLBinding.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/soap/SOAPRPCWSDLBinding.java 2009-10-17 15:08:04 UTC (rev 60)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/soap/SOAPRPCWSDLBinding.java 2009-10-17 20:07:25 UTC (rev 61)
@@ -17,6 +17,8 @@
*/
package org.jboss.savara.tools.wsdl.soap;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jboss.savara.tools.wsdl.WSDLBinding;
/**
@@ -25,6 +27,7 @@
*
*/
public class SOAPRPCWSDLBinding implements WSDLBinding {
+ private static Log logger = LogFactory.getLog(SOAPRPCWSDLBinding.class);
/**
* This method returns the name of the WSDL binding implementation.
@@ -51,13 +54,16 @@
* @param binding The port type
*/
public void updateBinding(javax.wsdl.Definition defn, javax.wsdl.Binding binding) {
- /*
- org.w3c.dom.Element sb=binding.getDocumentationElement().getOwnerDocument().
- createElementNS("http://schemas.xmlsoap.org/wsdl/soap/", "binding");
- sb.setAttribute("style", "rpc");
- sb.setAttribute("transport", "http://schemas.xmlsoap.org/soap/http");
- binding.getDocumentationElement().appendChild(sb);
- */
+ try {
+ javax.wsdl.extensions.soap.SOAPBinding sb=(javax.wsdl.extensions.soap.SOAPBinding)
+ defn.getExtensionRegistry().createExtension(javax.wsdl.Binding.class,
+ new javax.xml.namespace.QName("http://schemas.xmlsoap.org/wsdl/soap/", "binding"));
+ sb.setStyle("rpc");
+ sb.setTransportURI("http://schemas.xmlsoap.org/soap/http");
+ binding.addExtensibilityElement(sb);
+ } catch(Exception e) {
+ logger.error("Failed to add SOAP binding", e);
+ }
}
/**
@@ -66,8 +72,17 @@
* @param defn The definition
* @param operation The operation
*/
- public void updateOperation(javax.wsdl.Definition defn, javax.wsdl.Operation operation) {
-
+ public void updateOperation(javax.wsdl.Definition defn, javax.wsdl.BindingOperation operation) {
+ try {
+ javax.wsdl.extensions.soap.SOAPOperation soap=(javax.wsdl.extensions.soap.SOAPOperation)
+ defn.getExtensionRegistry().createExtension(javax.wsdl.BindingOperation.class,
+ new javax.xml.namespace.QName("http://schemas.xmlsoap.org/wsdl/soap/", "operation"));
+ soap.setStyle("rpc");
+ soap.setSoapActionURI("");
+ operation.addExtensibilityElement(soap);
+ } catch(Exception e) {
+ logger.error("Failed to add SOAP operation", e);
+ }
}
/**
@@ -76,8 +91,17 @@
* @param defn The definition
* @param input The input
*/
- public void updateInput(javax.wsdl.Definition defn, javax.wsdl.Input input) {
-
+ public void updateInput(javax.wsdl.Definition defn, javax.wsdl.BindingInput input) {
+ try {
+ javax.wsdl.extensions.soap.SOAPBody soap=(javax.wsdl.extensions.soap.SOAPBody)
+ defn.getExtensionRegistry().createExtension(javax.wsdl.BindingInput.class,
+ new javax.xml.namespace.QName("http://schemas.xmlsoap.org/wsdl/soap/", "body"));
+ soap.setUse("literal");
+ soap.setNamespaceURI(defn.getTargetNamespace());
+ input.addExtensibilityElement(soap);
+ } catch(Exception e) {
+ logger.error("Failed to add SOAP body to input", e);
+ }
}
/**
@@ -86,8 +110,17 @@
* @param defn The definition
* @param output The output
*/
- public void updateOutput(javax.wsdl.Definition defn, javax.wsdl.Output output) {
-
+ public void updateOutput(javax.wsdl.Definition defn, javax.wsdl.BindingOutput output) {
+ try {
+ javax.wsdl.extensions.soap.SOAPBody soap=(javax.wsdl.extensions.soap.SOAPBody)
+ defn.getExtensionRegistry().createExtension(javax.wsdl.BindingOutput.class,
+ new javax.xml.namespace.QName("http://schemas.xmlsoap.org/wsdl/soap/", "body"));
+ soap.setUse("literal");
+ soap.setNamespaceURI(defn.getTargetNamespace());
+ output.addExtensibilityElement(soap);
+ } catch(Exception e) {
+ logger.error("Failed to add SOAP body to output", e);
+ }
}
/**
@@ -96,8 +129,19 @@
* @param defn The definition
* @param fault The fault
*/
- public void updateFault(javax.wsdl.Definition defn, javax.wsdl.Fault fault) {
-
+ public void updateFault(javax.wsdl.Definition defn, javax.wsdl.BindingFault fault) {
+ try {
+ javax.wsdl.extensions.soap.SOAPFault soap=(javax.wsdl.extensions.soap.SOAPFault)
+ defn.getExtensionRegistry().createExtension(javax.wsdl.BindingFault.class,
+ new javax.xml.namespace.QName("http://schemas.xmlsoap.org/wsdl/soap/", "fault"));
+ soap.setUse("literal");
+ soap.setNamespaceURI(defn.getTargetNamespace());
+ soap.setName(fault.getName());
+
+ fault.addExtensibilityElement(soap);
+ } catch(Exception e) {
+ logger.error("Failed to add SOAP body to fault", e);
+ }
}
}
More information about the savara-commits
mailing list