From 96ddaf81ea67494e4843235c55a27a851213ed9c Mon Sep 17 00:00:00 2001 From: slaws Date: Mon, 21 Jun 2010 08:53:11 +0000 Subject: BWS_2001 - add a check that the reference binding.ws has an absolute URI git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@956500 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/binding/ws/xml/WebServiceBindingProcessor.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml') diff --git a/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java b/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java index e288d162d8..9c2bbd6043 100644 --- a/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java +++ b/sca-java-2.x/trunk/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java @@ -22,6 +22,8 @@ package org.apache.tuscany.sca.binding.ws.xml; import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; +import java.net.URI; +import java.net.URISyntaxException; import java.util.Map; import javax.wsdl.Binding; @@ -33,6 +35,7 @@ import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamWriter; +import org.apache.tuscany.sca.assembly.Reference; import org.apache.tuscany.sca.assembly.xml.PolicySubjectProcessor; import org.apache.tuscany.sca.binding.ws.WebServiceBinding; import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; @@ -131,6 +134,18 @@ public class WebServiceBindingProcessor extends BaseStAXArtifactProcessor implem String uri = getURIString(reader, URI); if (uri != null) { wsBinding.setURI(uri); + + if (context.getParentModel() instanceof Reference){ + try { + URI tmpURI = new URI(uri); + + if (!tmpURI.isAbsolute()){ + error(monitor, "URINotAbsolute", reader, uri); + } + } catch (URISyntaxException ex){ + error(monitor, "InvalidURISyntax", reader, ex.getMessage()); + } + } } // Read a qname in the form: -- cgit v1.2.3