You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2010/07/08 15:02:31 UTC

svn commit: r961748 - in /tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main: java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java resources/binding-wsxml-validation-messages.properties

Author: antelder
Date: Thu Jul  8 13:02:30 2010
New Revision: 961748

URL: http://svn.apache.org/viewvc?rev=961748&view=rev
Log:
Add some wsdli:location validation

Modified:
    tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
    tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties

Modified: tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java?rev=961748&r1=961747&r2=961748&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java Thu Jul  8 13:02:30 2010
@@ -33,7 +33,6 @@ import javax.wsdl.Port;
 import javax.wsdl.PortType;
 import javax.wsdl.Service;
 import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.wsdl.extensions.soap.SOAPBinding;
 import javax.wsdl.extensions.soap12.SOAP12Address;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
@@ -236,8 +235,14 @@ public class WebServiceBindingProcessor 
 
         // Read wsdlLocation
         wsBinding.setLocation(reader.getAttributeValue(WSDLI_NS, WSDL_LOCATION));
-        if (wsdlElement == null && wsBinding.getLocation() != null) {
-            error(monitor, "WsdliLocationMissingWsdlElement", reader);
+        if (wsBinding.getLocation() != null) {
+            if (wsdlElement == null) {
+                error(monitor, "WsdliLocationMissingWsdlElement", reader);
+            }
+            String[] iris = wsBinding.getLocation().split(" ");
+            if (iris.length % 2 != 0) {
+                error(monitor, "WsdliLocationNotIRIPairs", reader);
+            }
         }
 
         // Skip to end element

Modified: tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties?rev=961748&r1=961747&r2=961748&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-ws/src/main/resources/binding-wsxml-validation-messages.properties Thu Jul  8 13:02:30 2010
@@ -25,6 +25,7 @@ WsdlBindingDoesNotMatch = The #wsdl.bind
 WsdlServiceDoesNotMatch = [BWS20005] The #wsdl.service({0}) not found in the available WSDL Definitions
 WsdlPortTypeDoesNotMatch = The #wsdl.port({0}) does not match with the WSDL Definitions
 WsdliLocationMissingWsdlElement = [BWS20017] binding.ws has a @wsdli:wsdlLocation attribute but no @wsdlElement attribute
+WsdliLocationNotIRIPairs = The binding.ws @wsdli:wsdlLocation attribute MUST be a list of pairs of IRIs 
 URINotAbsolute = [BWS20001] The URI value for binding.ws on an SCA reference must be absolute. Non-absolute value found {0}
 InvalidURISyntax =  The URI value {0} found on binding.ws has invalid syntax
 WSDLServiceOnService = [BWS20003] The wsdlElement attribute of a binding.ws on an SCA service must not specify the wsdl.service form of URI. The following URI was found {0}