Author: mriou
Date: Wed Aug 27 11:32:05 2008
New Revision: 689550
URL: http://svn.apache.org/viewvc?rev=689550&view=rev
Log:
Fix for WSDLs with internal schema references.
Modified:
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java
Modified:
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java?rev=689550&r1=689549&r2=689550&view=diff
==============================================================================
---
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
(original)
+++
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
Wed Aug 27 11:32:05 2008
@@ -416,6 +416,7 @@
public OXsdTypeVarType resolveXsdType(QName typeName) throws
CompilationException {
OXsdTypeVarType type = _oprocess.xsdTypes.get(typeName);
if (type == null) {
+ __log.debug("Resolving XSD type " + typeName);
SchemaModel model = null;
try {
model = _wsdlRegistry.getSchemaModel();
Modified:
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java?rev=689550&r1=689549&r2=689550&view=diff
==============================================================================
---
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java
(original)
+++
ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WsdlFinderXMLEntityResolver.java
Wed Aug 27 11:32:05 2008
@@ -22,6 +22,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
+import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.Map;
@@ -84,6 +85,14 @@
if (resourceIdentifier.getLiteralSystemId() == null) {
// import without schemaLocation
if (__log.isDebugEnabled()) __log.debug("resolveEntity: no schema
location for "+resourceIdentifier.getNamespace());
+ try {
+ if (_internalSchemas.get(new
URI(resourceIdentifier.getNamespace())) != null) {
+ src.setByteStream(new
ByteArrayInputStream(_internalSchemas.get(new
URI(resourceIdentifier.getNamespace())).getBytes()));
+ return src;
+ }
+ } catch (URISyntaxException e) {
+ __log.debug("resolveEntity: no schema location an no known
namespace for: " + resourceIdentifier.getNamespace());
+ }
return null;
} else if (resourceIdentifier.getExpandedSystemId() != null) {
// schema imported by other schema