Hi, I think the configuration for jetty should look something like this using the engine-factory as Glen has suggested.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/transports/http-jetty/configuration http://cxf.apache.org/schemas/configuration/http-jetty.xsd "> <import resource="META-INF/cxf/cxf.xml"/> <engine-factory bus="cxf" xmlns="http://cxf.apache.org/transports/http-jetty/configuration"> <engine port="9090"> <threadingParameters minThreads="10" maxThreads="10" /> <sessionSupport>true</sessionSupport> </engine> <engine port="9191"> <tlsServerParameters> <keyManagers xmlns="http://cxf.apache.org/configuration/security" keyPassword="password"> <keyStore type="JKS" password="password" resource="certs/cherry.jks"/> </keyManagers> </tlsServerParameters> <threadingParameters minThreads="10" maxThreads="10" /> <sessionSupport>true</sessionSupport> </engine> </engine-factory> <!-- additional configuration here... --> </beans> On Wed, Jul 27, 2011 at 6:57 AM, Glen Mazza <[email protected]> wrote: > Googling on "httpj:tlsServerParameters" brought > http://aruld.info/programming-**ssl-for-jetty-based-cxf-**services/<http://aruld.info/programming-ssl-for-jetty-based-cxf-services/>(although > it's 3 years old, it may still be accurate.) That term also > brings up other hits. What I can immediately see is that your configuration > does not wrap httpj:engine with httpj:engine-factory, although I'm unsure if > that's required. > > Glen > > > On 07/26/2011 06:02 PM, Jesse Pangburn wrote: > >> Hi, >> Any advice on the httj:engine using SSL problem below? >> >> Thank you, >> Jesse >> >> -----Original Message----- >> From: Jesse Pangburn >> [mailto:Jesse.Pangburn@us.**lawson.com<[email protected]> >> ] >> Sent: Wednesday, July 20, 2011 5:55 PM >> To: [email protected] >> Subject: SSL engine starting problem >> >> Hi, >> I'm new to CXF so please forgive these noob questions. I'm running CXF >> embedded in a Spring app and have a couple problems. The following is the >> content of my spring config xml: >> <beans >> xmlns="http://www.**springframework.org/schema/**beans<http://www.springframework.org/schema/beans> >> " >> >> xmlns:beans="http://www.**springframework.org/schema/**beans<http://www.springframework.org/schema/beans>" >> xmlns:xsi="http://www.w3.org/**2001/XMLSchema-instance<http://www.w3.org/2001/XMLSchema-instance> >> " >> >> xmlns:sec="http://cxf.apache.**org/configuration/security<http://cxf.apache.org/configuration/security>" >> xmlns:http="http://cxf.apache.**org/transports/http/**configuration<http://cxf.apache.org/transports/http/configuration> >> " >> xmlns:httpj="http://cxf.**apache.org/transports/http-** >> jetty/configuration<http://cxf.apache.org/transports/http-jetty/configuration> >> " >> >> xmlns:jaxws="http://cxf.**apache.org/jaxws<http://cxf.apache.org/jaxws>" >> xmlns:cxf="http://cxf.apache.**org/core <http://cxf.apache.org/core>" >> >> xmlns:soap="http://cxf.apache.**org/bindings/soap<http://cxf.apache.org/bindings/soap> >> " >> xsi:schemaLocation="http://**cxf.apache.org/configuration/** >> security <http://cxf.apache.org/configuration/security> >> http://cxf.apache.org/schemas/**configuration/security.xsd<http://cxf.apache.org/schemas/configuration/security.xsd> >> >> http://cxf.apache.org/**transports/http/configuration<http://cxf.apache.org/transports/http/configuration> >> http://cxf.apache.org/schemas/**configuration/http-conf.xsd<http://cxf.apache.org/schemas/configuration/http-conf.xsd> >> >> http://cxf.apache.org/**transports/http-jetty/**configuration<http://cxf.apache.org/transports/http-jetty/configuration> >> http://cxf.apache.org/schemas/**configuration/http-jetty.xsd<http://cxf.apache.org/schemas/configuration/http-jetty.xsd> >> >> http://www.springframework.**org/schema/beans<http://www.springframework.org/schema/beans> >> http://www.springframework.**org/schema/beans/spring-beans-**3.0.xsd<http://www.springframework.org/schema/beans/spring-beans-3.0.xsd> >> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/** >> jaxws.xsd <http://cxf.apache.org/schemas/jaxws.xsd> >> http://cxf.apache.org/core http://cxf.apache.org/schemas/** >> core.xsd <http://cxf.apache.org/schemas/core.xsd> >> >> http://cxf.apache.org/**bindings/soap<http://cxf.apache.org/bindings/soap> >> http://cxf.apache.org/schemas/**configuration/soap.xsd<http://cxf.apache.org/schemas/configuration/soap.xsd> >> "> >> >> <import resource="classpath:META-INF/**cxf/cxf.xml" /> >> <import resource="classpath:META-INF/**cxf/cxf-extension-jaxws.xml" >> /> >> >> <jaxws:endpoint id="restfulGreeting" >> >> implementor="com.infor.**cloverleaf.ib.**RestfulGreetingProvider" >> >> >> bindingUri="http://www.w3.org/**2004/08/wsdl/http<http://www.w3.org/2004/08/wsdl/http> >> " >> >> address="http://localhost:**9001/RestfulGreeting<http://localhost:9001/RestfulGreeting>" >> /> >> >> <httpj:engine-factory bus="cxf" id="engineFactory"> >> >> <httpj:engine port="9001"> >> <httpj:threadingParameters minThreads="6" >> maxThreads="16" /> >> </httpj:engine> >> >> <httpj:engine port="9002"> >> <httpj:tlsServerParameters> >> <sec:keyManagers keyPassword="changeit"> >> <sec:keyStore type="JKS" >> password="changeit" >> >> file="/home/jpangburn/certs/**server-keystore.jks" /> >> </sec:keyManagers> >> <sec:trustManagers> >> <sec:keyStore type="JKS" >> password="changeit" >> >> file="/home/jpangburn/certs/**server-truststore.jks" /> >> </sec:trustManagers> >> <sec:cipherSuitesFilter> >> <sec:include>.*_EXPORT_.*</** >> sec:include> >> <sec:include>.*_EXPORT1024_.*<** >> /sec:include> >> <sec:include>.*_WITH_DES_.*</** >> sec:include> >> <sec:include>.*_WITH_NULL_.*</** >> sec:include> >> <sec:exclude>.*_DH_anon_.*</** >> sec:exclude> >> </sec:cipherSuitesFilter> >> </httpj:tlsServerParameters> >> <httpj:threadingParameters minThreads="5" >> maxThreads="15" /> >> <httpj:connector> >> <beans:bean class="org.eclipse.jetty.** >> server.ssl.SslSocketConnector"**> >> <beans:property name="port" >> value="9002" /> >> </beans:bean> >> </httpj:connector> >> <httpj:handlers> >> <beans:bean >> class="org.eclipse.jetty.**server.handler.DefaultHandler" >> /> >> </httpj:handlers> >> <httpj:sessionSupport>true</** >> httpj:sessionSupport> >> </httpj:engine> >> </httpj:engine-factory> >> </beans> >> >> This file is loaded by the following code: >> ApplicationContext context = new ClassPathXmlApplicationContext**(new >> String[] {"/com/infor/cloverleaf/ib/**IBApplicationContext.xml"}); >> // this line is just for debugging, not needed otherwise >> Object factory = context.getBean("**engineFactory"); >> >> With the address in my restful endpoint like this 'address=" >> http://localhost:**9001/RestfulGreeting<http://localhost:9001/RestfulGreeting>"' >> I have no problems. I can connect to the service and in the debugger when I >> look at the factory object's portMap field I find that the 9001 port has >> maxThreads=16 and minThreads=6, so I know that it's using the httpj:engine >> settings for that port. >> >> Problem #1 is if I change the address to 'address="https://localhost:** >> 9002/RestfulGreeting <https://localhost:9002/RestfulGreeting>"' to use >> SSL then I get an error on startup. It says this: >> WARNING: FAILED org.eclipse.jetty.http.ssl.**SslContextFactory@73b879: >> java.io.FileNotFoundException: /home/jpangburn/.keystore (No such file or >> directory) >> >> So since it's looking for /home/jpangburn/.keystore (the default) instead >> of /home/jpangburn/certs/server-**keystore.jks as I have configured for >> port 9002, it's clear that it's ignoring my configuration for that port. I >> know it's reading the configuration for the HTTP port, so why not the HTTPS >> port? >> >> The problem #2 is probably just my own misunderstanding, but I see some >> examples where the address doesn't have the host:port but can't get it to >> work. If I set 'address="/RestfulGreeting"' it does not seem to start the >> jetty engine and netstat shows the port is not listening. I would have >> thought that it would try to listen on each engine instance (port 9001 and >> 9002 in my case) when you didn't specify the host port. Instead it says the >> following but doesn't open any ports: >> INFO: Setting the server's publish address to be /RestfulGreeting >> >> Thanks for your help! >> Jesse >> >> >> >> > > -- > Glen Mazza > Application Integration Division > Talend (http://www.talend.com/ai) > blog: http://www.jroller.com/gmazza > > >
