Hi Folks, This is with regard to https://issues.apache.org/jira/browse/SYNAPSE-410. I have upgraded the XML APIs library version to 2.0.2. Andreas pointed out that we don't really have to ship this library at all since we are on JDK 5. It seems having this library around can actually break stuff. I got the following exception from neethi while trying some throttling stuff:
2011-12-21 21:08:58,636 [-] [HttpServerWorker-1] ERROR NativeWorkerPool Uncaught exception java.lang.NoSuchMethodError: org.w3c.dom.Element.getTextContent()Ljava/lang/String; at org.apache.neethi.builders.xml.XMLPrimitiveAssertionBuilder.newPrimitiveAssertion(XMLPrimitiveAssertionBuilder.java:85) at org.apache.neethi.builders.xml.XMLPrimitiveAssertionBuilder.build(XMLPrimitiveAssertionBuilder.java:70) at org.apache.neethi.builders.xml.XMLPrimitiveAssertionBuilder.build(XMLPrimitiveAssertionBuilder.java:40) at org.apache.neethi.AssertionBuilderFactoryImpl.invokeBuilder(AssertionBuilderFactoryImpl.java:129) at org.apache.neethi.AssertionBuilderFactoryImpl.build(AssertionBuilderFactoryImpl.java:110) at org.apache.neethi.PolicyBuilder.processOperationElement(PolicyBuilder.java:220) at org.apache.neethi.PolicyBuilder.getPolicyOperator(PolicyBuilder.java:172) at org.apache.neethi.PolicyBuilder.getPolicy(PolicyBuilder.java:125) at org.apache.neethi.PolicyEngine.getPolicy(PolicyEngine.java:113) at org.wso2.throttle.ThrottleFactory.createThrottle(ThrottleFactory.java:134) at org.wso2.throttle.ThrottleFactory.createMediatorThrottle(ThrottleFactory.java:88) at org.apache.synapse.mediators.throttle.ThrottleMediator.mediate(ThrottleMediator.java:152) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60) at org.apache.synapse.mediators.filters.InMediator.mediate(InMediator.java:55) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:188) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:176) at org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:454) at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:280) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173) The getTextContent method was not available in the old DOM API. When I removed the xml-apis library from Synapse, it started to use the one provided by JDK and things worked as expected. So looks like we have to get rid of this. Does anybody see any issues with removing this? Andreas, is it really safe to remove this? Will there be issues on other JDKs (eg: IBM JDK)? Thanks -- Hiranya Jayathilaka Associate Technical Lead; WSO2 Inc.; http://wso2.org E-mail: [email protected]; Mobile: +94 77 633 3491 Blog: http://techfeast-hiranya.blogspot.com
