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
>>
>>   
>>     
>
>   

Reply via email to