[ 
https://issues.apache.org/jira/browse/ODE-101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xuli updated ODE-101:
---------------------

    Affects Version/s: Incubator

I solved this problem by adding the following lines to 
org.apache.ode.jbi.OdeServiceUnit.Start():

        if (_registered.size() != pids.size()) {
            for (QName pid : new ArrayList<QName>(_registered))
                try {
                    _ode._server.unregister(pid);
                    _registered.remove(pid);
                } catch (Exception ex) {
                    __log.error("Unable to unload " + pid, ex);
                }
        }
        else
        {
-------------------------------------------------------------------------------------------------------
            // Initialize _transformerFactory member of XslTransformHandler
            TransformerFactory trsf = new net.sf.saxon.TransformerFactoryImpl();
            XslTransformHandler.getInstance().setTransformerFactory(trsf);
-------------------------------------------------------------------------------------------------------
        }


> TransformerFactory is used without initialization in Start()
> ------------------------------------------------------------
>
>                 Key: ODE-101
>                 URL: https://issues.apache.org/jira/browse/ODE-101
>             Project: Ode
>          Issue Type: Bug
>          Components: JBI Integration
>    Affects Versions: Incubator
>         Environment: Windows XP Pro, ServiceMix 3.1
>            Reporter: Xuli
>            Priority: Critical
>
> After deployment of ODE engine, quit ServiceMix then restart it. Now, execute 
> a process with doXslTransform will cause the problem.
> While deploying the ODE engine, ServiceMix will invoke 
> OdeServiceUnit.Deploy() method to instanciate a compiler according to the 
> BPEL script version, then in turn instanciate a 
> "XPath10ExpressionCompilerBPEL20" or "XPath20ExpressionCompilerBPEL20" object 
> in which one's constructor, the TransformerFactory will be initiated by 
> executing the following lines:
> ---------------------------------------------------------------------------------------------------------
>             TransformerFactory trsf = new 
> net.sf.saxon.TransformerFactoryImpl();
>             XslTransformHandler.getInstance().setTransformerFactory(trsf);
> ---------------------------------------------------------------------------------------------------------
> But after deployment, the ServiceMix will invoke init()->start() only.  The 
> TransformerFactory will keeping uninitialized and will cause the problem 
> while executing 
> DoXslTransformFunction.Function()->XslTransformHandler.getInstance().cacheXSLSheet(xslUri,
>  xslSheet.sheetBody, resolver)->parseXSLSheet(uri, body, 
> resolver)->_transformerFactory.setURIResolver(resolver)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to