Author: objectiser
Date: 2009-11-05 18:13:40 -0500 (Thu, 05 Nov 2009)
New Revision: 72
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:
Create a default soap address entry in the wsdl service if using soap binding.
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-31
19:03:06 UTC (rev 71)
+++
tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLBinding.java 2009-11-05
23:13:40 UTC (rev 72)
@@ -78,4 +78,12 @@
*/
public void updateFault(javax.wsdl.Definition defn, javax.wsdl.BindingFault fault);
+ /**
+ * This method adds WSDL binding information to the fault.
+ *
+ * @param defn The definition
+ * @param port The port
+ */
+ public void updatePort(javax.wsdl.Definition defn, javax.wsdl.Port port);
+
}
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-31
19:03:06 UTC (rev 71)
+++
tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/WSDLGenerator.java 2009-11-05
23:13:40 UTC (rev 72)
@@ -52,6 +52,11 @@
// Create definition for contract's target namespace
javax.wsdl.Definition main=getDefinition(ret, contract, contract.getNamespace(),
wsdlBinding);
+ // If no definition, then return
+ if (main == null) {
+ return(ret);
+ }
+
// Create service
javax.wsdl.Service service=main.createService();
service.setQName(new javax.xml.namespace.QName(contract.getNamespace(),
@@ -76,6 +81,10 @@
port.setBinding(binding);
service.addPort(port);
+
+ if (wsdlBinding != null) {
+ wsdlBinding.updatePort(main, port);
+ }
}
} catch(Exception e) {
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-31
19:03:06 UTC (rev 71)
+++
tools/eclipse/trunk/plugins/org.jboss.savara.tools.wsdl/src/java/org/jboss/savara/tools/wsdl/soap/SOAPRPCWSDLBinding.java 2009-11-05
23:13:40 UTC (rev 72)
@@ -144,4 +144,23 @@
}
}
+ /**
+ * This method adds WSDL binding information to the fault.
+ *
+ * @param defn The definition
+ * @param port The port
+ */
+ public void updatePort(javax.wsdl.Definition defn, javax.wsdl.Port port) {
+ try {
+ javax.wsdl.extensions.soap.SOAPAddress soap=(javax.wsdl.extensions.soap.SOAPAddress)
+ defn.getExtensionRegistry().createExtension(javax.wsdl.Port.class,
+ new
javax.xml.namespace.QName("http://schemas.xmlsoap.org/wsdl/soap/",
"address"));
+ soap.setLocationURI("http://localhost:8080/"+defn.getQName().getLocalPart()+"Service");
+
+ port.addExtensibilityElement(soap);
+ } catch(Exception e) {
+ logger.error("Failed to add SOAP address to port", e);
+ }
+ }
+
}