Below is the combined XML config file I'm trying to use. Fuseki (your Jetty v9.3.3 build) spits this error out (also below). The combined config files, separately, provide SSL fine in Jetty v9.3.3 but I can't get it to work in Fuseki. The only change I had to make, for XML syntax purposes, was changing:
<Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"> To this: <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"> ==================================== [2015-09-02 22:36:24] Server INFO Jetty server config file = /home/ec2-user/fuseki/jettyconfig/jettyall.xml [2015-09-02 22:36:24] XmlConfiguration WARN Config error at <Call name="addIfAbsentConnectionFactory"><Arg> <New class="org.eclipse.jetty.server.SslConnectionFactory"><Arg name="next">http/1.1</Arg><Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg></New> </Arg></Call> [2015-09-02 22:36:24] Server ERROR SPARQLServer: Failed to configure server: No Method: <Call name="addIfAbsentConnectionFactory"><Arg> <New class="org.eclipse.jetty.server.SslConnectionFactory"><Arg name="next">http/1.1</Arg><Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg></New> </Arg></Call> on class org.eclipse.jetty.server.Server java.lang.IllegalStateException: No Method: <Call name="addIfAbsentConnectionFactory"><Arg> <New class="org.eclipse.jetty.server.SslConnectionFactory"><Arg name="next">http/1.1</Arg><Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg></New> </Arg></Call> on class org.eclipse.jetty.server.Server at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:734) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:417) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:300) at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:245) at org.apache.jena.fuseki.jetty.JettyFuseki.configServer(JettyFuseki.java:265) at org.apache.jena.fuseki.jetty.JettyFuseki.buildServerWebapp(JettyFuseki.java:222) at org.apache.jena.fuseki.jetty.JettyFuseki.<init>(JettyFuseki.java:91) at org.apache.jena.fuseki.jetty.JettyFuseki.initializeServer(JettyFuseki.java:86) at org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.exec(FusekiCmd.java:335) at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) at jena.cmd.CmdMain.mainRun(CmdMain.java:58) at jena.cmd.CmdMain.mainRun(CmdMain.java:45) at org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.innerMain(FusekiCmd.java:96) at org.apache.jena.fuseki.cmd.FusekiCmd.main(FusekiCmd.java:59) Caused by: java.lang.NoSuchMethodException: addIfAbsentConnectionFactory at org.eclipse.jetty.util.TypeUtil.call(TypeUtil.java:552) at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:726) ... 13 more org.apache.jena.fuseki.FusekiException: Failed to configure a server using configuration file '/home/ec2-user/fuseki/jettyconfig/jettyall.xml' at org.apache.jena.fuseki.jetty.JettyFuseki.configServer(JettyFuseki.java:269) at org.apache.jena.fuseki.jetty.JettyFuseki.buildServerWebapp(JettyFuseki.java:222) at org.apache.jena.fuseki.jetty.JettyFuseki.<init>(JettyFuseki.java:91) at org.apache.jena.fuseki.jetty.JettyFuseki.initializeServer(JettyFuseki.java:86) at org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.exec(FusekiCmd.java:335) at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) at jena.cmd.CmdMain.mainRun(CmdMain.java:58) at jena.cmd.CmdMain.mainRun(CmdMain.java:45) at org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.innerMain(FusekiCmd.java:96) at org.apache.jena.fuseki.cmd.FusekiCmd.main(FusekiCmd.java:59) ============================ jettyall.xml file: <?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <Configure id="Server" class="org.eclipse.jetty.server.Server"> <Get name="ThreadPool"> <Set name="minThreads" type="int"><Property name="jetty.threadPool.minThreads" deprecated="threads.min" default="10"/></Set> <Set name="maxThreads" type="int"><Property name="jetty.threadPool.maxThreads" deprecated="threads.max" default="200"/></Set> <Set name="idleTimeout" type="int"><Property name="jetty.threadPool.idleTimeout" deprecated="threads.timeout" default="60000"/></Set> <Set name="detailedDump">false</Set> </Get> <!-- =========================================================== --> <!-- Add shared Scheduler instance --> <!-- =========================================================== --> <Call name="addBean"> <Arg> <New class="org.eclipse.jetty.util.thread.ScheduledExecutorScheduler"/> </Arg> </Call> <!-- =========================================================== --> <!-- Http Configuration. --> <!-- This is a common configuration instance used by all --> <!-- connectors that can carry HTTP semantics (HTTP, HTTPS, etc.)--> <!-- It configures the non wire protocol aspects of the HTTP --> <!-- semantic. --> <!-- --> <!-- This configuration is only defined here and is used by --> <!-- reference from other XML files such as jetty-http.xml, --> <!-- jetty-https.xml and other configuration files which --> <!-- instantiate the connectors. --> <!-- --> <!-- Consult the javadoc of o.e.j.server.HttpConfiguration --> <!-- for all configuration that may be set here. --> <!-- =========================================================== --> <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> <Set name="secureScheme"><Property name="jetty.httpConfig.secureScheme" default="https" /></Set> <Set name="securePort"><Property name="jetty.httpConfig.securePort" deprecated="jetty.secure.port" default="8443" /></Set> <Set name="outputBufferSize"><Property name="jetty.httpConfig.outputBufferSize" deprecated="jetty.output.buffer.size" default="32768" /></Set> <Set name="outputAggregationSize"><Property name="jetty.httpConfig.outputAggregationSize" deprecated="jetty.output.aggregation.size" default="8192" /></Set> <Set name="requestHeaderSize"><Property name="jetty.httpConfig.requestHeaderSize" deprecated="jetty.request.header.size" default="8192" /></Set> <Set name="responseHeaderSize"><Property name="jetty.httpConfig.responseHeaderSize" deprecated="jetty.response.header.size" default="8192" /></Set> <Set name="sendServerVersion"><Property name="jetty.httpConfig.sendServerVersion" deprecated="jetty.send.server.version" default="true" /></Set> <Set name="sendDateHeader"><Property name="jetty.httpConfig.sendDateHeader" deprecated="jetty.send.date.header" default="false" /></Set> <Set name="headerCacheSize"><Property name="jetty.httpConfig.headerCacheSize" default="512" /></Set> <Set name="delayDispatchUntilContent"><Property name="jetty.httpConfig.delayDispatchUntilContent" deprecated="jetty.delayDispatchUntilContent" default="true"/></Set> <!-- Uncomment to enable handling of X-Forwarded- style headers <Call name="addCustomizer"> <Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg> </Call> --> </New> <!-- =========================================================== --> <!-- Set the default handler structure for the Server --> <!-- A handler collection is used to pass received requests to --> <!-- both the ContextHandlerCollection, which selects the next --> <!-- handler by context path and virtual host, and the --> <!-- DefaultHandler, which handles any requests not handled by --> <!-- the context handlers. --> <!-- Other handlers may be added to the "Handlers" collection, --> <!-- for example the jetty-requestlog.xml file adds the --> <!-- RequestLogHandler after the default handler --> <!-- =========================================================== --> <Set name="handler"> <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> <Set name="handlers"> <Array type="org.eclipse.jetty.server.Handler"> <Item> <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/> </Item> <Item> <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/> </Item> </Array> </Set> </New> </Set> <!-- =========================================================== --> <!-- extra server options --> <!-- =========================================================== --> <Set name="stopAtShutdown"><Property name="jetty.server.stopAtShutdown" default="true"/></Set> <Set name="stopTimeout">5000</Set> <Set name="dumpAfterStart"><Property name="jetty.server.dumpAfterStart" deprecated="jetty.dump.start" default="false"/></Set> <Set name="dumpBeforeStop"><Property name="jetty.server.dumpBeforeStop" deprecated="jetty.dump.stop" default="false"/></Set> <!-- ============================================================= --> <!-- Configure the Jetty Server instance with an ID "Server" --> <!-- by adding a HTTP connector. --> <!-- This configuration must be used in conjunction with jetty.xml --> <!-- ============================================================= --> <!-- =========================================================== --> <!-- Add a HTTP Connector. --> <!-- Configure an o.e.j.server.ServerConnector with a single --> <!-- HttpConnectionFactory instance using the common httpConfig --> <!-- instance defined in jetty.xml --> <!-- --> <!-- Consult the javadoc of o.e.j.server.ServerConnector and --> <!-- o.e.j.server.HttpConnectionFactory for all configuration --> <!-- that may be set here. --> <!-- =========================================================== --> <Call name="addConnector"> <Arg> <New id="httpConnector" class="org.eclipse.jetty.server.ServerConnector"> <Arg name="server"><Ref refid="Server" /></Arg> <Arg name="acceptors" type="int"><Property name="jetty.http.acceptors" deprecated="http.acceptors" default="-1"/></Arg> <Arg name="selectors" type="int"><Property name="jetty.http.selectors" deprecated="http.selectors" default="-1"/></Arg> <Arg name="factories"> <Array type="org.eclipse.jetty.server.ConnectionFactory"> <!-- uncomment to support proxy protocol <Item> <New class="org.eclipse.jetty.server.ProxyConnectionFactory"/> </Item>--> <Item> <New class="org.eclipse.jetty.server.HttpConnectionFactory"> <Arg name="config"><Ref refid="httpConfig" /></Arg> </New> </Item> </Array> </Arg> <Set name="host"><Property name="jetty.http.host" deprecated="jetty.host" /></Set> <Set name="port"><Property name="jetty.http.port" deprecated="jetty.port" default="8080" /></Set> <Set name="idleTimeout"><Property name="jetty.http.idleTimeout" deprecated="http.timeout" default="30000"/></Set> <Set name="soLingerTime"><Property name="jetty.http.soLingerTime" deprecated="http.soLingerTime" default="-1"/></Set> <Set name="acceptorPriorityDelta"><Property name="jetty.http.acceptorPriorityDelta" deprecated="http.acceptorPriorityDelta" default="0"/></Set> <Set name="acceptQueueSize"><Property name="jetty.http.acceptQueueSize" deprecated="http.acceptQueueSize" default="0"/></Set> </New> </Arg> </Call> <!-- ============================================================= --> <!-- Configure a HTTPS connector. --> <!-- This configuration must be used in conjunction with jetty.xml --> <!-- and jetty-ssl.xml. --> <!-- ============================================================= --> <Call name="addIfAbsentConnectionFactory"> <Arg> <New class="org.eclipse.jetty.server.SslConnectionFactory"> <Arg name="next">http/1.1</Arg> <Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg> </New> </Arg> </Call> <Call name="addConnectionFactory"> <Arg> <New class="org.eclipse.jetty.server.HttpConnectionFactory"> <Arg name="config"><Ref refid="sslHttpConfig" /></Arg> </New> </Arg> </Call> <!-- ============================================================= --> <!-- Base SSL configuration --> <!-- This configuration needs to be used together with 1 or more --> <!-- of jetty-https.xml or jetty-http2.xml --> <!-- ============================================================= --> <!-- =========================================================== --> <!-- Add a SSL Connector with no protocol factories --> <!-- =========================================================== --> <Call name="addConnector"> <Arg> <New id="sslConnector" class="org.eclipse.jetty.server.ServerConnector"> <Arg name="server"><Ref refid="Server" /></Arg> <Arg name="acceptors" type="int"><Property name="jetty.ssl.acceptors" deprecated="ssl.acceptors" default="-1"/></Arg> <Arg name="selectors" type="int"><Property name="jetty.ssl.selectors" deprecated="ssl.selectors" default="-1"/></Arg> <Arg name="factories"> <Array type="org.eclipse.jetty.server.ConnectionFactory"> <!-- uncomment to support proxy protocol <Item> <New class="org.eclipse.jetty.server.ProxyConnectionFactory"/> </Item>--> </Array> </Arg> <Set name="host"><Property name="jetty.ssl.host" deprecated="jetty.host" /></Set> <Set name="port"><Property name="jetty.ssl.port" deprecated="ssl.port" default="8443" /></Set> <Set name="idleTimeout"><Property name="jetty.ssl.idleTimeout" deprecated="ssl.timeout" default="30000"/></Set> <Set name="soLingerTime"><Property name="jetty.ssl.soLingerTime" deprecated="ssl.soLingerTime" default="-1"/></Set> <Set name="acceptorPriorityDelta"><Property name="jetty.ssl.acceptorPriorityDelta" deprecated="ssl.acceptorPriorityDelta" default="0"/></Set> <Set name="acceptQueueSize"><Property name="jetty.ssl.acceptQueueSize" deprecated="ssl.acceptQueueSize" default="0"/></Set> </New> </Arg> </Call> <!-- =========================================================== --> <!-- Create a TLS specific HttpConfiguration based on the --> <!-- common HttpConfiguration defined in jetty.xml --> <!-- Add a SecureRequestCustomizer to extract certificate and --> <!-- session information --> <!-- =========================================================== --> <New id="sslHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> <Arg><Ref refid="httpConfig"/></Arg> <Call name="addCustomizer"> <Arg> <New class="org.eclipse.jetty.server.SecureRequestCustomizer"> <Arg type="boolean"><Property name="jetty.ssl.sniHostCheck" default="true"/></Arg> </New> </Arg> </Call> </New> <!-- ============================================================= --> <!-- SSL ContextFactory configuration --> <!-- ============================================================= --> <!-- Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory" --> <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"> <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.sslContext.keyStorePath" deprecated="jetty.keystore" default="etc/keystore"/></Set> <Set name="KeyStorePassword"><Property name="jetty.sslContext.keyStorePassword" deprecated="jetty.keystore.password" default="MyPassword" /></Set> <Set name="KeyStoreType"><Property name="jetty.sslContext.keyStoreType" default="JKS"/></Set> <Set name="KeyStoreProvider"><Property name="jetty.sslContext.keyStoreProvider"/></Set> <Set name="KeyManagerPassword"><Property name="jetty.sslContext.keyManagerPassword" deprecated="jetty.keymanager.password" default="MyPassword" /></Set> <Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.sslContext.trustStorePath" deprecated="jetty.truststore" default="etc/keystore"/></Set> <Set name="TrustStorePassword"><Property name="jetty.sslContext.trustStorePassword" deprecated="jetty.truststore.password" default="MyPassword" /></Set> <Set name="TrustStoreType"><Property name="jetty.sslContext.trustStoreType" default="JKS"/></Set> <Set name="TrustStoreProvider"><Property name="jetty.sslContext.trustStoreProvider"/></Set> <Set name="EndpointIdentificationAlgorithm"></Set> <Set name="NeedClientAuth"><Property name="jetty.sslContext.needClientAuth" deprecated="jetty.ssl.needClientAuth" default="false"/></Set> <Set name="WantClientAuth"><Property name="jetty.sslContext.wantClientAuth" deprecated="jetty.ssl.wantClientAuth" default="false"/></Set> <Set name="ExcludeCipherSuites"> <Array type="String"> <Item>SSL_RSA_WITH_DES_CBC_SHA</Item> <Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item> <Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item> <Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item> <Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item> </Array> </Set> <Set name="useCipherSuitesOrder"><Property name="jetty.sslContext.useCipherSuitesOrder" default="true"/></Set> </New> </Configure> =================================== On Wed, Sep 2, 2015 at 2:46 PM, Jason Levitt <slimands...@gmail.com> wrote: > I can get Jetty 9.3.3 to work over SSL with these four files, but I > cannot figure out a way to > put them into one file (required by fuseki) to get SSL working with fuseki: > > jetty.xml > > <?xml version="1.0"?> > <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" > "http://www.eclipse.org/jetty/configure_9_3.dtd"> > > <Configure id="Server" class="org.eclipse.jetty.server.Server"> > > <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> > <Set name="secureScheme"><Property > name="jetty.httpConfig.secureScheme" default="https" /></Set> > <Set name="securePort"><Property > name="jetty.httpConfig.securePort" deprecated="jetty.secure.port" > default="8443" /></Set> > <Set name="outputBufferSize"><Property > name="jetty.httpConfig.outputBufferSize" > deprecated="jetty.output.buffer.size" default="32768" /></Set> > <Set name="outputAggregationSize"><Property > name="jetty.httpConfig.outputAggregationSize" > deprecated="jetty.output.aggregation.size" default="8192" /></Set> > <Set name="requestHeaderSize"><Property > name="jetty.httpConfig.requestHeaderSize" > deprecated="jetty.request.header.size" default="8192" /></Set> > <Set name="responseHeaderSize"><Property > name="jetty.httpConfig.responseHeaderSize" > deprecated="jetty.response.header.size" default="8192" /></Set> > <Set name="sendServerVersion"><Property > name="jetty.httpConfig.sendServerVersion" > deprecated="jetty.send.server.version" default="true" /></Set> > <Set name="sendDateHeader"><Property > name="jetty.httpConfig.sendDateHeader" > deprecated="jetty.send.date.header" default="false" /></Set> > <Set name="headerCacheSize"><Property > name="jetty.httpConfig.headerCacheSize" default="512" /></Set> > <Set name="delayDispatchUntilContent"><Property > name="jetty.httpConfig.delayDispatchUntilContent" > deprecated="jetty.delayDispatchUntilContent" default="true"/></Set> > </New> > > </Configure> > > jetty-http.xml > > <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" > "http://www.eclipse.org/jetty/configure_9_3.dtd"> > > <Call name="addConnector"> > <Arg> > <New id="httpConnector" > class="org.eclipse.jetty.server.ServerConnector"> > <Arg name="server"><Ref refid="Server" /></Arg> > <Arg name="acceptors" type="int"><Property > name="jetty.http.acceptors" deprecated="http.acceptors" > default="-1"/></Arg> > <Arg name="selectors" type="int"><Property > name="jetty.http.selectors" deprecated="http.selectors" > default="-1"/></Arg> > <Arg name="factories"> > <Array type="org.eclipse.jetty.server.ConnectionFactory"> > <!-- uncomment to support proxy protocol > <Item> > <New class="org.eclipse.jetty.server.ProxyConnectionFactory"/> > </Item>--> > <Item> > <New class="org.eclipse.jetty.server.HttpConnectionFactory"> > <Arg name="config"><Ref refid="httpConfig" /></Arg> > </New> > </Item> > </Array> > </Arg> > <Set name="host"><Property name="jetty.http.host" > deprecated="jetty.host" /></Set> > <Set name="port"><Property name="jetty.http.port" > deprecated="jetty.port" default="8080" /></Set> > <Set name="idleTimeout"><Property > name="jetty.http.idleTimeout" deprecated="http.timeout" > default="30000"/></Set> > <Set name="soLingerTime"><Property > name="jetty.http.soLingerTime" deprecated="http.soLingerTime" > default="-1"/></Set> > <Set name="acceptorPriorityDelta"><Property > name="jetty.http.acceptorPriorityDelta" > deprecated="http.acceptorPriorityDelta" default="0"/></Set> > <Set name="acceptQueueSize"><Property > name="jetty.http.acceptQueueSize" deprecated="http.acceptQueueSize" > default="0"/></Set> > </New> > </Arg> > </Call> > > </Configure> > > > jetty-https.xml > > <?xml version="1.0"?> > <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" > "http://www.eclipse.org/jetty/configure_9_3.dtd"> > > <Configure id="sslConnector" class="org.eclipse.jetty.server.ServerConnector"> > > <Call name="addIfAbsentConnectionFactory"> > <Arg> > <New class="org.eclipse.jetty.server.SslConnectionFactory"> > <Arg name="next">http/1.1</Arg> > <Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg> > </New> > </Arg> > </Call> > > <Call name="addConnectionFactory"> > <Arg> > <New class="org.eclipse.jetty.server.HttpConnectionFactory"> > <Arg name="config"><Ref refid="sslHttpConfig" /></Arg> > </New> > </Arg> > </Call> > > </Configure> > > jetty-ssl-context.xml > > <?xml version="1.0"?> > <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" > "http://www.eclipse.org/jetty/configure_9_3.dtd"> > > <Configure id="sslContextFactory" > class="org.eclipse.jetty.util.ssl.SslContextFactory"> > > <Set name="KeyStorePath"><Property name="jetty.base" default="." > />/<Property name="jetty.sslContext.keyStorePath" > deprecated="jetty.keystore" default="etc/keystore"/></Set> > <Set name="KeyStorePassword"><Property > name="jetty.sslContext.keyStorePassword" > deprecated="jetty.keystore.password" />MyPassword</Set> > <Set name="KeyStoreType"><Property > name="jetty.sslContext.keyStoreType" default="JKS"/></Set> > <Set name="KeyStoreProvider"><Property > name="jetty.sslContext.keyStoreProvider"/></Set> > <Set name="KeyManagerPassword"><Property > name="jetty.sslContext.keyManagerPassword" > deprecated="jetty.keymanager.password" />MyPassword</Set> > <Set name="TrustStorePath"><Property name="jetty.base" default="." > />/<Property name="jetty.sslContext.trustStorePath" > deprecated="jetty.truststore" default="etc/keystore"/></Set> > <Set name="TrustStorePassword"><Property > name="jetty.sslContext.trustStorePassword" > deprecated="jetty.truststore.password" />MyPassword</Set> > <Set name="TrustStoreType"><Property > name="jetty.sslContext.trustStoreType" default="JKS"/></Set> > <Set name="TrustStoreProvider"><Property > name="jetty.sslContext.trustStoreProvider"/></Set> > <Set name="EndpointIdentificationAlgorithm"></Set> > <Set name="NeedClientAuth"><Property > name="jetty.sslContext.needClientAuth" > deprecated="jetty.ssl.needClientAuth" default="false"/></Set> > <Set name="WantClientAuth"><Property > name="jetty.sslContext.wantClientAuth" > deprecated="jetty.ssl.wantClientAuth" default="false"/></Set> > <Set name="ExcludeCipherSuites"> > <Array type="String"> > <Item>SSL_RSA_WITH_DES_CBC_SHA</Item> > <Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item> > <Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item> > <Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item> > <Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item> > <Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item> > <Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item> > </Array> > </Set> > <Set name="useCipherSuitesOrder"><Property > name="jetty.sslContext.useCipherSuitesOrder" default="true"/></Set> > </Configure> > > ================ > > On Wed, Sep 2, 2015 at 8:18 AM, Andy Seaborne <a...@apache.org> wrote: >> Hi Jason, >> >> I have made some progress with your config. >> >> 1/ I switched the development code to 9.3.3 so we have one target and >> because I got that version to work with your config >> >> 9.3.3. was release 27/Aug/2015. >> >> Don't know if your working from the source or not so I did a development >> build of Fuseki2 with 9.3.3. >> >> https://repository.apache.org/content/repositories/snapshots/org/apache/jena/apache-jena-fuseki/2.3.1-SNAPSHOT/ >> >> NB There are 2 builds for today - latest with Jetty 9.3.3 is >> >> 20150902.121407-19 >> >> 2/ Fix for your config file below. >> Needs some details from jetty.xml copied into it. >> >> Andy >> >> On 01/09/15 20:36, Jason Levitt wrote: >>> >>> Back to square one. >>> >>> This Jetty config file works fine with Jetty 9: >> >> >> Which jetty version? I'm seeing differences between 9.1.1 and 9.3.3 >> >> With 9.3.2 I get a different error, more useful error (yes, I was using >> 9.3.2 at that point) >> >> [2015-09-02 12:24:37] Server ERROR SPARQLServer: Failed to configure >> server: null >> java.lang.reflect.InvocationTargetException >> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >> java.lang.reflect.Constructor.newInstance(Constructor.java:422) >> org.eclipse.jetty.util.TypeUtil.construct(TypeUtil.java:627) >> org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:782) >> >> which looks to be caused by: >> >>> <New class="org.eclipse.jetty.server.HttpConnectionFactory"> >>> <Arg name="config"><Ref refid="httpConfig" /></Arg> >>> </New> >> >> and httpConfig is not defined. (I debug traced the Jetty code). >> >> It says higher up: >> >> <!-- HttpConnectionFactory instance using the common httpConfig --> >> <!-- instance defined in jetty.xml >> >> >> I copied the block from jetty.xml 9.3.3 into you configuration: >> <New id="httpConfig" >> </New> >> >> Full copy below. >> >> This is for 9.3.3 only - I tried the same approach with 9.1.1 and it didn't >> work. Maybe my user error, maybe because your config makes a 9.3 specific >> call. Rather than worry about that, I switched the development code base to >> 9.3.3. >> >> Hey presto - server runs for me. Confirmed it is using the config by >> changing the port but that's all the testing I have time for ATM. (Looking >> for a job (= employment) can be quite time consuming!) >> >> Andy >> >> >> ------------------------------------------------------------ >> Copy of new section, reformatted for email :-| , inserted before <Call> >> >> <Configure id="Server" class="org.eclipse.jetty.server.Server"> >> <New >> .... >> </New> >> >> <Call name="addConnector"> >> </Call> >> >> >> </Configure> >> >> --------- Full insert >> >> >> <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> >> <Set name="secureScheme"> >> <Property name="jetty.httpConfig.secureScheme" >> default="https" /> >> </Set> >> <Set name="securePort"> >> <Property name="jetty.httpConfig.securePort" >> deprecated="jetty.secure.port" >> default="8443" /> >> </Set> >> <Set name="outputBufferSize"> >> <Property name="jetty.httpConfig.outputBufferSize" >> deprecated="jetty.output.buffer.size" >> default="32768" /> >> </Set> >> <Set name="outputAggregationSize"> >> <Property name="jetty.httpConfig.outputAggregationSize" >> deprecated="jetty.output.aggregation.size" >> default="8192" /> >> </Set> >> <Set name="requestHeaderSize"> >> <Property name="jetty.httpConfig.requestHeaderSize" >> deprecated="jetty.request.header.size" >> default="8192" /> >> </Set> >> <Set name="responseHeaderSize"> >> <Property name="jetty.httpConfig.responseHeaderSize" >> deprecated="jetty.response.header.size" >> default="8192" /> >> </Set> >> <Set name="sendServerVersion"> >> <Property name="jetty.httpConfig.sendServerVersion" >> deprecated="jetty.send.server.version" >> default="true" /> >> </Set> >> <Set name="sendDateHeader"> >> <Property name="jetty.httpConfig.sendDateHeader" >> deprecated="jetty.send.date.header" >> default="false" /> >> </Set> >> <Set name="headerCacheSize"> >> <Property name="jetty.httpConfig.headerCacheSize" >> default="512" /> >> </Set> >> <Set name="delayDispatchUntilContent"> >> <Property name="jetty.httpConfig.delayDispatchUntilContent" >> deprecated="jetty.delayDispatchUntilContent" >> default="true"/> >> </Set> >> <Set name="maxErrorDispatches"> >> <Property name="jetty.httpConfig.maxErrorDispatches" >> default="10"/> >> </Set> >> <!-- Uncomment to enable handling of X-Forwarded- style headers >> <Call name="addCustomizer"> >> <Arg><New >> class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg> >> </Call> >> --> >> </New> >>