Author: jim.ma
Date: 2012-07-26 02:27:54 -0400 (Thu, 26 Jul 2012)
New Revision: 16546
Added:
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/resources/jaxws/jbws2526/jbossws-entities.properties
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/extensions/validation/SchemaResourceResolver.java
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/scripts/build-jars-jaxws.xml
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/jaxws/jbws1172/JBWS1172TestCase.java
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2526/JBWS2526TestCase.java
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/resources/jaxws/jbws2526/WEB-INF/wsdl/jbws2526.wsdl
Log:
[JBPAPP-9337]:Add ability for deployments to include jbossws-entities.properties
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/extensions/validation/SchemaResourceResolver.java
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/extensions/validation/SchemaResourceResolver.java 2012-07-25
14:22:58 UTC (rev 16545)
+++
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/extensions/validation/SchemaResourceResolver.java 2012-07-26
06:27:54 UTC (rev 16546)
@@ -24,30 +24,52 @@
import java.io.ByteArrayInputStream;
import java.util.Map;
+import org.jboss.logging.Logger;
+import org.jboss.ws.core.utils.JBossWSEntityResolver;
import org.w3c.dom.ls.LSInput;
import org.w3c.dom.ls.LSResourceResolver;
+import org.xml.sax.InputSource;
/**
* SchemaResourceResolver
*
* @author ema(a)redhat.com
*/
-public class SchemaResourceResolver implements LSResourceResolver {
- private Map<String, byte[]> streamMap;
-
- public SchemaResourceResolver(Map<String, byte[]> map) {
- streamMap = map;
- }
-
- public LSInput resolveResource(String type, String namespaceURI,
- String publicId, String systemId, String baseURI) {
- LSInput lsInput = null;
- if (streamMap.get(namespaceURI) != null) {
- byte[] value = streamMap.get(namespaceURI);
- lsInput = new LSInputImpl();
- lsInput.setByteStream(new ByteArrayInputStream(value));
- }
- return lsInput;
- }
+public class SchemaResourceResolver implements LSResourceResolver
+{
+ private static Logger log = Logger.getLogger(SchemaResourceResolver.class);
+ private Map<String, byte[]> streamMap;
+ public SchemaResourceResolver(Map<String, byte[]> map)
+ {
+ streamMap = map;
+ }
+
+ public LSInput resolveResource(String type, String namespaceURI, String publicId,
String systemId, String baseURI)
+ {
+ LSInput lsInput = null;
+ if (streamMap.get(namespaceURI) != null)
+ {
+ byte[] value = streamMap.get(namespaceURI);
+ lsInput = new LSInputImpl();
+ lsInput.setByteStream(new ByteArrayInputStream(value));
+ }
+ try
+ {
+ JBossWSEntityResolver entityResolver = new JBossWSEntityResolver();
+ InputSource ins = entityResolver.resolveEntity(publicId, systemId);
+ if (ins != null)
+ {
+ lsInput = new LSInputImpl();
+ lsInput.setByteStream(ins.getByteStream());
+ }
+ }
+ catch (Exception e)
+ {
+ log.warn("Failed to resolve the schema", e);
+
+ }
+ return lsInput;
+ }
+
}
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java 2012-07-25
14:22:58 UTC (rev 16545)
+++
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java 2012-07-26
06:27:54 UTC (rev 16546)
@@ -52,15 +52,16 @@
if(null == runtimeClassLoader)
throw new IllegalArgumentException("Runtime classloader cannot be
null");
wsMetaData.setClassLoader(runtimeClassLoader);
-
+ ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
+ Thread.currentThread().setContextClassLoader(runtimeClassLoader);
// For every bean
for (Endpoint ep : dep.getService().getEndpoints())
{
String shortName = ep.getShortName();
Class beanClass = ep.getTargetBeanClass();
JAXWSServerMetaDataBuilder.setupProviderOrWebService(dep, wsMetaData,
beanClass, shortName);
- }
-
+ }
+ Thread.currentThread().setContextClassLoader(oldClassLoader);
log.debug("END buildMetaData: " + wsMetaData);
return wsMetaData;
}
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java 2012-07-25
14:22:58 UTC (rev 16545)
+++
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java 2012-07-26
06:27:54 UTC (rev 16546)
@@ -651,8 +651,19 @@
log.error(se.getMessage(), se);
}
}
- if (importedSchema == null)
+ if (importedSchema == null &&
entityResolver.getEntityMap().containsKey(currLoc.toExternalForm()))
{
+ try
+ {
+ importedSchema =
DOMUtils.parse(entityResolver.resolveEntity(currLoc.toExternalForm(),
currLoc.toExternalForm()).getByteStream());
+ }
+ catch (SAXException se)
+ {
+ log.error(se.getMessage(), se);
+ }
+
+ }
+ if (importedSchema == null) {
importedSchema = DOMUtils.parse(currLoc.openStream());
}
handleSchemaImports(importedSchema, currLoc);
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/scripts/build-jars-jaxws.xml
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/scripts/build-jars-jaxws.xml 2012-07-25
14:22:58 UTC (rev 16545)
+++
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/scripts/build-jars-jaxws.xml 2012-07-26
06:27:54 UTC (rev 16546)
@@ -542,12 +542,15 @@
<!-- jaxws-jbws2526 -->
<war warfile="${tests.output.dir}/test-libs/jaxws-jbws2526.war"
webxml="${tests.output.dir}/test-resources/jaxws/jbws2526/WEB-INF/web.xml">
<classes dir="${tests.output.dir}/test-classes">
- <include name="org/jboss/test/ws/jaxws/jbws2526/*.class"/>
- <exclude
name="org/jboss/test/ws/jaxws/jbws2526/JBWS2526TestCase.class"/>
- <include
name="org/jboss/test/ws/jaxws/jbws2526/server-handlers.xml"/>
+ <include name="org/jboss/test/ws/jaxws/jbws2526/*.class" />
+ <exclude name="org/jboss/test/ws/jaxws/jbws2526/JBWS2526TestCase.class"
/>
+ <include name="org/jboss/test/ws/jaxws/jbws2526/server-handlers.xml"
/>
</classes>
+ <classes dir="${tests.output.dir}/test-resources/jaxws/jbws2526">
+ <include name="jbossws-entities.properties" />
+ </classes>
<webinf
dir="${tests.output.dir}/test-resources/jaxws/jbws2526/WEB-INF">
- <include name="wsdl/**"/>
+ <include name="wsdl/**" />
</webinf>
</war>
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/jaxws/jbws1172/JBWS1172TestCase.java
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/jaxws/jbws1172/JBWS1172TestCase.java 2012-07-25
14:22:58 UTC (rev 16545)
+++
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/jaxws/jbws1172/JBWS1172TestCase.java 2012-07-26
06:27:54 UTC (rev 16546)
@@ -59,8 +59,7 @@
{
return new JBossWSTestSetup(JBWS1172TestCase.class,
"jaxws-jbws1172.war");
}
-
-
+
public void testSchemaValidationPositive() throws Exception
{
URL wsdlURL =
getResourceURL("jaxws/jbws1172/WEB-INF/wsdl/TestService.wsdl");
@@ -164,6 +163,7 @@
}
}
+
public void testValidatingImportEndpoint() throws Exception
{
URL wsdlURL = new URL("http://" + getServerHost() +
":8080/jaxws-jbws1172/doval-import?wsdl");
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2526/JBWS2526TestCase.java
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2526/JBWS2526TestCase.java 2012-07-25
14:22:58 UTC (rev 16545)
+++
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/jaxws/jbws2526/JBWS2526TestCase.java 2012-07-26
06:27:54 UTC (rev 16546)
@@ -37,7 +37,8 @@
/**
* [JBWS-2526] org.jboss.ws.core.soap.TextImpl does not implement
* org.w3c.dom.Comment.
- *
+ * This testcase is also configured a jbossws-entity.properties
+ * to test the ablitly to resolve a import schema
* @author <a href="mailto:gturner@unzane.com">Gerald Turner</a>
*/
public class JBWS2526TestCase extends JBossWSTest
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/resources/jaxws/jbws2526/WEB-INF/wsdl/jbws2526.wsdl
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/resources/jaxws/jbws2526/WEB-INF/wsdl/jbws2526.wsdl 2012-07-25
14:22:58 UTC (rev 16545)
+++
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/resources/jaxws/jbws2526/WEB-INF/wsdl/jbws2526.wsdl 2012-07-26
06:27:54 UTC (rev 16546)
@@ -10,7 +10,7 @@
<types>
<xs:schema>
<xs:import namespace="urn:JBWS-2526-Schema"
- schemaLocation="jbws2526.xsd"/>
+
schemaLocation="http://www.notexist.org/a.xsd"/>
</xs:schema>
</types>
Added:
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/resources/jaxws/jbws2526/jbossws-entities.properties
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/resources/jaxws/jbws2526/jbossws-entities.properties
(rev 0)
+++
stack/native/branches/jbossws-native-3.1.2/modules/testsuite/native-tests/src/test/resources/jaxws/jbws2526/jbossws-entities.properties 2012-07-26
06:27:54 UTC (rev 16546)
@@ -0,0 +1,2 @@
+http\://www.notexist.org/a.xsd=../wsdl/jbws2526.xsd
+