I think what's happening is that NetBeans (or more specifically JAXWSBindingExtensionHandler) is using the JAXP mechanism to search the classpath for an XPath engine; it finds Saxon-EE, but Saxon-EE is failing because there's no license file (it's a misleading error message - sorry).

If there were a license file then it might work - I don't know. It's not guaranteed, because the JAXP API for XPath leaves a lot of discretion to the implementation, so if they haven't tested their code with the Saxon implementation, there is no guarantee that it will work. So the two things you can do are

(a) ensure that when Saxon-EE gets loaded, it finds a license file

(b) tell NetBeans not to search the classpath for an XPath provider, but instead to use the Xalan provider, which you can do by setting the system property

javax.xml.xpath.XPathFactory:http://java.sun.com/jaxp/xpath/dom

to the value

org.apache.xpath.jaxp.XPathFactoryImpl

as described in

http://xml.apache.org/xalan-j/xpath_apis.html

Michael Kay
Saxonica

On 14/06/2010 11:29, Geoffroy Noel wrote:
Hi,

I'm working on a Java web application developed in Netbeans (6.8) that needs both the Saxon library (saxon9ee) and the a web service client. Each one work fine on their own. But once they are both part of my project the building process fails with a java exception telling me that I "need the Enterprise Edition of Saxon for this operation" (see the end of this email for a complete dump of the output).

I can't figure out why adding the saxon library to my working project suddenly makes the build fail. Obviously the "operation" in question does not need Saxon at all since the build works fine when I remove the library.

So my questions are:
1. is it the correct behaviour for Saxon to throw an exception when another library included in my project would handle the operation?
2. can you suggest a solution or a work around for this problem? Basically I'm looking for a solution which would allow me to automatically build my project from Netbeans without any manual intervention.

Let me know if you need more information about the way to reproduce this issue.

Thanks in advance for your help,

---

Additional information - output from the build process:

init:
undeploy-clean:
Undeploying ...
OK - Undeployed application at context path /TestClient
deps-clean:
do-clean:
Deleting directory C:\src\projects\ascluster\TestClient\build
Deleting directory C:\src\projects\ascluster\TestClient\dist
check-clean:
clean:
init:
deps-module-jar:
deps-ear-jar:
deps-jar:
wsimport-init:
Created dir: C:\src\projects\ascluster\TestClient\build\generated-sources\jax-ws
wsimport-client-stockquote:
Created dir: C:\src\projects\ascluster\TestClient\build\generated\jax-wsCache\stockquote
command line: wsimport -d C:\src\projects\ascluster\TestClient\build\generated\jax-wsCache\stockquote -extension -Xnocompile -Xendorsed -keep -s C:\src\projects\ascluster\TestClient\build\generated\jax-wsCache\stockquote -catalog C:\src\projects\ascluster\TestClient\catalog.xml -verbose -target 2.1 C:\src\projects\ascluster\TestClient/src/conf/xml-resources/web-service-references/stockquote/wsdl/www.webservicex.net/stockquote.asmx.wsdl -p test -wsdllocation http://www.webservicex.net/stockquote.asmx?WSDL
parsing WSDL...


C:\src\projects\ascluster\TestClient\nbproject\jaxws-build.xml:31:
java.lang.ExceptionInInitializerError
        at com.sun.tools.ws.wsdl.parser.WSDLParser.<init>(WSDLParser.java:118)
        at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:109)
        at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:185)
        at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:689)
        at com.sun.istack.tools.ProtectedTask.execute(ProtectedTask.java:55)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.GeneratedMethodAccessor323.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
        at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:278)
        at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:498)
        at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:151)
Caused by: java.lang.UnsupportedOperationException: You need the Enterprise Edition of Saxon for this operation
        at net.sf.saxon.Configuration.needEnterpriseEdition(Configuration.java:2453)
        at net.sf.saxon.Configuration.setSchemaValidationMode(Configuration.java:1986)
        at com.saxonica.config.EnterpriseXPathFactory.<init>(EnterpriseXPathFactory.java:28)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at javax.xml.xpath.XPathFactoryFinder.loadFromService(XPathFactoryFinder.java:370)
        at javax.xml.xpath.XPathFactoryFinder._newFactory(XPathFactoryFinder.java:222)
        at javax.xml.xpath.XPathFactoryFinder.newFactory(XPathFactoryFinder.java:143)
        at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:185)
        at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:99)
        at com.sun.tools.ws.wsdl.parser.JAXWSBindingExtensionHandler.<clinit>(JAXWSBindingExtensionHandler.java:69)
        ... 20 more
BUILD FAILED (total time: 2 seconds)



------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________ saxon-help mailing list archived at http://saxon.markmail.org/ saxon-help@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/saxon-help