aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niten Aggarwal (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARIES-1540) Blueprint NamespaceHandler can't resolve XSD in offline mode
Date Fri, 05 Aug 2016 01:14:20 GMT

    [ https://issues.apache.org/jira/browse/ARIES-1540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15408734#comment-15408734
] 

Niten Aggarwal commented on ARIES-1540:
---------------------------------------

Hi Guillaume,

Could you please let me know how to apply this fix in Karaf 4.0.5 as we are facing same issue
and cannot change aries blueprint version just by changing features.xml. We are on karaf 4.0.5
and feature will be installed through nexus repository directly so we cannot update this feature
just for blueprint.core version.

<feature name="aries-blueprint" description="Aries Blueprint" version="4.0.5">
        <feature prerequisite="false" dependency="false">aries-proxy</feature>
        <bundle start-level="20">mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.api/1.0.1</bundle>
        <bundle start-level="20">mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.cm/1.0.8</bundle>
        <bundle start-level="20">mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0</bundle>
        <bundle start-level="20">mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.6.1</bundle>
        <conditional>
            <condition>bundle</condition>
            <bundle start-level="30">mvn:org.apache.karaf.bundle/org.apache.karaf.bundle.blueprintstate/4.0.5</bundle>
        </conditional>
        <capability>
            osgi.service;effective:=active;objectClass=org.apache.aries.blueprint.services.ParserService,
            osgi.extender; osgi.extender="osgi.blueprint";uses:="org.osgi.service.blueprint.container,org.osgi.service.blueprint.reflect";version:Version="1.0"
        </capability>
    </feature>

> Blueprint NamespaceHandler can't resolve XSD in offline mode
> ------------------------------------------------------------
>
>                 Key: ARIES-1540
>                 URL: https://issues.apache.org/jira/browse/ARIES-1540
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: blueprint-core-1.6.1
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Guillaume Nodet
>             Fix For: blueprint-core-1.6.2
>
>
> When the NamespaceHandler is offline, it fails to resolve the XSD:
> {code}
> 17:18:44,952 | WARN  | pool-27-thread-1 | l$NamespaceHandlerSetImpl$Loader  544 | 16
- org.apache.aries.blueprint.core - 1.6.1 | Dynamically adding namespace handler http://cxf.apache.org/configuration/beans
to bundle org.talend.esb.job.controller/6.2.0.SNAPSHOT
> 17:18:44,955 | WARN  | pool-27-thread-1 | l$NamespaceHandlerSetImpl$Loader  544 | 16
- org.apache.aries.blueprint.core - 1.6.1 | Dynamically adding namespace handler http://cxf.apache.org/configuration/parameterized-types
to bundle org.talend.esb.job.controller/6.2.0.SNAPSHOT
> 17:18:44,956 | ERROR | pool-27-thread-1 | container.BlueprintContainerImpl  437 | 16
- org.apache.aries.blueprint.core - 1.6.1 | Unable to start blueprint container for bundle
org.talend.esb.job.controller/6.2.0.SNAPSHOT
> org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'ptp:ParameterizedInt'
to a(n) 'simpleType definition' component.
>     at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)[:]
>     at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)[:]
>     at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(Unknown Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(Unknown Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDAbstractTraverser.reportSchemaError(Unknown
Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDAttributeTraverser.traverseNamedAttr(Unknown
Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDAttributeTraverser.traverseLocal(Unknown
Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(Unknown
Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(Unknown
Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(Unknown
Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseLocal(Unknown
Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(Unknown
Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseGlobal(Unknown
Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDHandler.traverseSchemas(Unknown Source)[:]
>     at org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(Unknown Source)[:]
>     at org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(Unknown Source)[:]
>     at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(Unknown Source)[:]
>     at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(Unknown Source)[:]
>     at org.apache.xerces.jaxp.validation.XMLSchemaFactory.newSchema(Unknown Source)[:]
>     at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.createSchema(NamespaceHandlerRegistryImpl.java:637)[16:org.apache.aries.blueprint.core:1.6.1]
>     at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.doGetSchema(NamespaceHandlerRegistryImpl.java:458)[16:org.apache.aries.blueprint.core:1.6.1]
>     at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.getSchema(NamespaceHandlerRegistryImpl.java:443)[16:org.apache.aries.blueprint.core:1.6.1]
>     at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:343)[16:org.apache.aries.blueprint.core:1.6.1]
>     at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[16:org.apache.aries.blueprint.core:1.6.1]
>     at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[16:org.apache.aries.blueprint.core:1.6.1]
>     at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[16:org.apache.aries.blueprint.core:1.6.1]
>     at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[16:org.apache.aries.blueprint.core:1.6.1]
>     at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[16:org.apache.aries.blueprint.core:1.6.1]
>     at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[26:org.apache.aries.util:1.1.1]
>     at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[26:org.apache.aries.util:1.1.1]
>     at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[26:org.apache.aries.util:1.1.1]
>     at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[26:org.apache.aries.util:1.1.1]
>     at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[26:org.apache.aries.util:1.1.1]
>     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher$2.call(EquinoxEventPublisher.java:189)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1280)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1263)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.notifyEventHooksPrivileged(EquinoxEventPublisher.java:186)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:146)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:75)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:67)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:102)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.container.Module.publishEvent(Module.java:466)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.container.Module.start(Module.java:457)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:392)[org.eclipse.osgi-3.10.2.jar:]
>     at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:411)[org.eclipse.osgi-3.10.2.jar:]
>     at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1262)[9:org.apache.karaf.features.core:4.0.5]
>     at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:840)[9:org.apache.karaf.features.core:4.0.5]
>     at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1152)[9:org.apache.karaf.features.core:4.0.5]
>     at org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:1048)[9:org.apache.karaf.features.core:4.0.5]
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_60]
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_60]
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_60]
>     at java.lang.Thread.run(Thread.java:745)[:1.8.0_60]
> {code}
> The problem is located on the NamespaceHandler. The following fix does the trick:
> {code}
> diff --git a/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
b/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
> index 86ad15b..fd8ea52 100644
> --- a/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
> +++ b/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
> @@ -541,16 +541,20 @@ public class NamespaceHandlerRegistryImpl implements NamespaceHandlerRegistry,
S
>                          }
>                      }
>                      // Find a compatible namespace handler
> -                    LOGGER.warn("Dynamically adding namespace handler {} to bundle {}/{}",
> -                            nsUri, bundle.getSymbolicName(), bundle.getVersion());
>                      h = findCompatibleNamespaceHandler(nsUri);
>                      if (h != null) {
> -                        URL url = h.getSchemaLocation(rid);
> +                        URL url = h.getSchemaLocation(namespaceURI);
> +                        if (url == null) {
> +                           url = h.getSchemaLocation(rid);
> +                       }
>                          if (isCorrectUrl(url)) {
> +                            LOGGER.warn("Dynamically adding namespace handler {} to
bundle {}/{}",
> +                               nsUri, bundle.getSymbolicName(), bundle.getVersion());
>                              return createLSInput(url, id, namespaceURI);
>                          }
>                      }
>                  }
> +                LOGGER.warn("Unable to find namespace handler for {}", namespaceURI);

>                  return null;
>              }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message