This a well know issue, you can find the issues from the below URLs. [1]CXF JIRA 922 https://issues.apache.org/jira/browse/CXF-922 [2]Set the SSL parament with Java API http://www.nabble.com/Error-when-trying-to-contact-service-over-SSL-on-a-specific-port-tf4424617.html#a12654695
BTW, here is also a Chinese thread talking about this in the cxf-zh. http://groups.google.com/group/cxf-zh/browse_thread/thread/1be279db5e9fe57c/08861d485d0a3642#08861d485d0a3642 Willem. [EMAIL PROTECTED] wrote: > Willem: > thanks a lots for your help. > you are right.we do not need to add httpj:engine-factory to our spring config > file --beans.xml. > i solved this problem. i config ssl on my weblogic9.2. and i can use the > client generated from WSDL call the webservice with web security over https > protocal. > but if i use the spring client ,there are some error happen. i add > -Dcxf.config.file=sslClient.xml to the client jvm arguments. but obviuosly, > sslClient.xml does not work when i use spring client. > how to use spring client to call https webserive? > > > thanks in advance! > > Roger > > > --------------log ------ > 2007-9-21 17:27:13 > org.apache.cxf.service.factory.ReflectionServiceFactoryBean > buildServiceFromClass > 信息: Creating Service > {http://interfaces.service.scan.dragonfx.dell.com/}HelloWorldService from > class com.dell.dragonfx.scan.service.interfaces.HelloWorld > 2007-9-21 17:27:14 org.apache.cxf.phase.PhaseInterceptorChain doIntercept > 信息: Interceptor has thrown exception, unwinding now > org.apache.cxf.interceptor.Fault: Could not send Message. > at > org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:48) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135) > at $Proxy32.sayHi(Unknown Source) > at com.dell.dragonfx.scan.service.Client.main(Client.java:42) > Caused by: java.io.IOException: Illegal Protocol https for HTTP URLConnection > Factory. > at > org.apache.cxf.transport.http.HttpURLConnectionFactoryImpl.createConnection(HttpURLConnectionFactoryImpl.java:44) > at > org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:474) > at > org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46) > ... 7 more > Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Could not > send Message. > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:169) > at $Proxy32.sayHi(Unknown Source) > at com.dell.dragonfx.scan.service.Client.main(Client.java:42) > Caused by: org.apache.cxf.interceptor.Fault: Could not send Message. > at > org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:48) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135) > ... 2 more > Caused by: java.io.IOException: Illegal Protocol https for HTTP URLConnection > Factory. > at > org.apache.cxf.transport.http.HttpURLConnectionFactoryImpl.createConnection(HttpURLConnectionFactoryImpl.java:44) > at > org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:474) > at > org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46) > ... 7 more > --------sslClient------------ > <?xml version="1.0" encoding="UTF-8"?> > > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:sec="http://cxf.apache.org/configuration/security" > xmlns:http="http://cxf.apache.org/transports/http/configuration" > xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" > xsi:schemaLocation=" > http://cxf.apache.org/configuration/security > http://cxf.apache.org/schemas/configuration/security.xsd > http://cxf.apache.org/transports/http/configuration > http://cxf.apache.org/schemas/configuration/http-conf.xsd > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd"> > > <http:conduit > name="{http://backendService.scan.dragonfx.dell.com/}HelloWorldImplPort.http-conduit"> > <http:tlsClientParameters> > <sec:trustManagers> > <sec:keyStore type="JKS" password="password" > file="c:\bea\server\mykeystore"/> > </sec:trustManagers> > <sec:keyManagers keyPassword="password"> > <sec:keyStore type="JKS" password="password" > file="c:\bea\server\cacerts"/> > </sec:keyManagers> > <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> > > </http:tlsClientParameters> > </http:conduit> > > <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl"> > </bean> > > </beans> > > -----client-bean.xml------ > <?xml version="1.0" encoding="UTF-8"?> > <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:sec="http://cxf.apache.org/configuration/security" > xmlns:http="http://cxf.apache.org/transports/http/configuration" > 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://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd > http://cxf.apache.org/configuration/security > http://cxf.apache.org/schemas/configuration/security.xsd > http://cxf.apache.org/transports/http/configuration > http://cxf.apache.org/schemas/configuration/http-conf.xsd > http://cxf.apache.org/transports/http-jetty/configuration > http://cxf.apache.org/schemas/configuration/http-jetty.xsd"> > > <import resource="classpath:META-INF/cxf/cxf.xml" /> > <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> > <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> > <!-- > <import resource="classpath:sslClient.xml" /> > --> > <bean id="client" > class="com.dell.dragonfx.scan.service.interfaces.HelloWorld" > factory-bean="clientFactory" factory-method="create" /> > > <bean id="clientFactory" > class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> > <property name="serviceClass" > > value="com.dell.dragonfx.scan.service.interfaces.HelloWorld" /> > <property name="address" > > value="https://localhost:7002/LSPApp/services/HelloWorld" /> > > <property name="outInterceptors"> > <list> > <bean > > class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" /> > <bean > > class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor"> > <constructor-arg> > <map> > <entry key="action" > value="UsernameToken" /> > <entry key="user" > value="joe" /> > <entry > key="passwordType" > > value="PasswordText" /> > <entry > key="passwordCallbackClass" > > value="com.demo.wss4j.interceptors.ClientPasswordCallback" /> > </map> > </constructor-arg> > </bean> > </list> > </property> > </bean> > <!-- > <http:conduit > > name="{http://backendService.scan.dragonfx.dell.com/}HelloWorldImplPort.http-conduit"> > <http:tlsClientParameters> > <sec:trustManagers> > <sec:keyStore type="JKS" password="password" > file="c:\bea\server\mykeystore" /> > </sec:trustManagers> > <sec:keyManagers keyPassword="password"> > <sec:keyStore type="JKS" password="password" > file="c:\bea\server\cacerts" /> > </sec:keyManagers> > <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> > > </http:tlsClientParameters> > </http:conduit> > --> > </beans> > > > thanks > > Roger > > -----Original Message----- > From: Willem Jiang [mailto:[EMAIL PROTECTED] > Sent: 2007年9月21日 17:18 > To: [email protected] > Subject: Re: Can't find the the request for > http://localhost:7001/LSPApp/services/HelloWorld's Observer > > Sorry, I forget to attach the url. > It is > http://cwiki.apache.org/CXF20DOC/writing-a-service-with-spring.html > > Willem. > > > Willem Jiang wrote: > >> Hi Roger, >> >> If you want to use the https transport by leveraging the Servlet >> transport , you do not need to specify the httpj:engine-factory in >> your bean.xml. >> httpj:engine-factory only take effect if you use the jetty as your >> http transport engine. >> >> After I went through your bean.xml, I can't found any endpoint >> specification there. You did not publish any endpoint yet, so you got >> the error of >> >> "Can't find the the request for >> http://localhost:7001/LSPApp/services/HelloWorld's Observer" >> >> Please refer this [1] to publish a service without ssl transport first. >> >> Willem. >> >> [EMAIL PROTECTED] wrote: >> >> >>> all: >>> >>> i want to publish CXF(2.01) webservice with WSS(user token) over SSL to >>> weblogic 9.2. >>> i got this error when a client to call the service. and i donot think >>> weblogic has publish service succesfull,but there is not error happen >>> according to the console: >>> >>> 2007-9-21 9:34:54 org.apache.cxf.transport.servlet.ServletController >>> invoke >>> 警告: Can't find the the request for >>> http://localhost:7001/LSPApp/services/HelloWorld's Observer >>> >>> -----------------cxfServer.xml-------------------------- >>> <?xml version="1.0" encoding="UTF-8"?> >>> >>> <beans xmlns="http://www.springframework.org/schema/beans" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> xmlns:sec="http://cxf.apache.org/configuration/security" >>> xmlns:http="http://cxf.apache.org/transports/http/configuration" >>> xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration" >>> xmlns:jaxws="http://cxf.apache.org/jaxws" >>> xsi:schemaLocation=" >>> http://cxf.apache.org/configuration/security >>> http://cxf.apache.org/schemas/configuration/security.xsd >>> http://cxf.apache.org/transports/http/configuration >>> http://cxf.apache.org/schemas/configuration/http-conf.xsd >>> http://cxf.apache.org/transports/http-jetty/configuration >>> http://cxf.apache.org/schemas/configuration/http-jetty.xsd >>> http://www.springframework.org/schema/beans >>> http://www.springframework.org/schema/beans/spring-beans.xsd"> >>> <import resource="classpath:META-INF/cxf/cxf.xml" /> >>> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> >>> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> >>> >>> <http:destination >>> name="{http://interfaces.service.scan.dragonfx.dell.com/}HelloWorldService.HelloWorldImplPort"> >>> >>> </http:destination> >>> >>> <httpj:engine-factory bus="cxf"> >>> <httpj:engine port="7002"> >>> <httpj:tlsServerParameters> >>> <sec:keyManagers keyPassword="password"> >>> <sec:keyStore type="JKS" password="password" >>> file="c:\bea\server\mykeystore"/> >>> </sec:keyManagers> >>> <sec:trustManagers> >>> <sec:keyStore type="JKS" password="password" >>> file="c:\bea\server\cacerts"/> >>> </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> >>> >>> <sec:clientAuthentication want="true" required="true"/> >>> >>> </httpj:tlsServerParameters> >>> </httpj:engine> >>> </httpj:engine-factory> >>> >>> <!-- We need a bean named "cxf" --> >>> >>> </beans> >>> >>> -------------sslclient.xml------------------ >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> >>> <beans xmlns="http://www.springframework.org/schema/beans" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> xmlns:sec="http://cxf.apache.org/configuration/security" >>> xmlns:http="http://cxf.apache.org/transports/http/configuration" >>> xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" >>> xsi:schemaLocation=" >>> http://cxf.apache.org/configuration/security >>> http://cxf.apache.org/schemas/configuration/security.xsd >>> http://cxf.apache.org/transports/http/configuration >>> http://cxf.apache.org/schemas/configuration/http-conf.xsd >>> http://www.springframework.org/schema/beans >>> >>> http://www.springframework.org/schema/beans/spring-beans.xsd"> >>> >>> <http:conduit >>> name="{http://interfaces.service.scan.dragonfx.dell.com/}HelloWorldImplService.HttpConduit"> >>> <http:tlsClientParameters> >>> >>> <sec:trustManagers> >>> <sec:keyStore type="JKS" password="password" >>> file="c:\bea\server\mykeystore"/> >>> </sec:trustManagers> >>> <sec:keyManagers keyPassword="password"> >>> <sec:keyStore type="JKS" password="password" >>> file="c:\bea\server\cacerts"/> >>> </sec:keyManagers> >>> <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> >>> >>> </http:tlsClientParameters> >>> </http:conduit> >>> >>> <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl"> >>> </bean> >>> >>> </beans> >>> >>> >>> thanks for any help >>> >>> Roger >>> >>> >>> >>> >> >> > >
