SWS-247 in 1.0 branch
This commit is contained in:
@@ -37,15 +37,16 @@ import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition;
|
||||
import org.springframework.xml.namespace.QNameUtils;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
/**
|
||||
* Builds a <code>WsdlDefinition</code> with a SOAP 1.1 binding based on an XSD schema. This builder iterates over all
|
||||
@@ -281,7 +282,7 @@ public class XsdBasedSoap11Wsdl4jDefinitionBuilder extends AbstractSoap11Wsdl4jD
|
||||
QName elementName = (QName) iterator.next();
|
||||
if (elementName != null &&
|
||||
(isRequestMessage(elementName) || isResponseMessage(elementName) || isFaultMessage(elementName))) {
|
||||
if (!StringUtils.hasLength(definition.getPrefix(elementName.getNamespaceURI()))) {
|
||||
if (definition.getPrefix(elementName.getNamespaceURI()) == null) {
|
||||
int i = 0;
|
||||
while (true) {
|
||||
String prefix = schemaPrefix + Integer.toString(i);
|
||||
|
||||
@@ -24,9 +24,11 @@ import javax.xml.transform.dom.DOMResult;
|
||||
|
||||
import org.custommonkey.xmlunit.XMLTestCase;
|
||||
import org.custommonkey.xmlunit.XMLUnit;
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.ws.wsdl.wsdl11.Wsdl11Definition;
|
||||
import org.w3c.dom.Document;
|
||||
import org.springframework.xml.transform.StringResult;
|
||||
|
||||
public class XsdBasedSoap11Wsdl4jDefinitionBuilderTest extends XMLTestCase {
|
||||
|
||||
@@ -144,6 +146,20 @@ public class XsdBasedSoap11Wsdl4jDefinitionBuilderTest extends XMLTestCase {
|
||||
assertXMLEqual("Invalid WSDL built", expected, result);
|
||||
}
|
||||
|
||||
public void testNoSchemaPrefix() throws Exception {
|
||||
builder.setSchema(new ClassPathResource("single.xsd", getClass()));
|
||||
builder.setPortTypeName("Order");
|
||||
builder.setTargetNamespace("http://www.springframework.org/spring-ws/single/definitions");
|
||||
builder.setSchemaPrefix("");
|
||||
builder.afterPropertiesSet();
|
||||
|
||||
buildAll();
|
||||
|
||||
Wsdl11Definition definition = builder.getDefinition();
|
||||
|
||||
transformer.transform(definition.getSource(), new StringResult());
|
||||
}
|
||||
|
||||
private void buildAll() {
|
||||
builder.buildDefinition();
|
||||
builder.buildImports();
|
||||
|
||||
Reference in New Issue
Block a user