On 2011-10-19, at 上午5:08, nkunkov wrote:

Hello,
I'm deploying a cxf web service outside of the application server container.
I know it's not the best way, but it does work with http.

I added In and Out interceptors that use the encrypt/decrypt and sign
property files.

It looks like I still need to add something to deploy the web service as I'm
getting the following error:
Protocol mismatch for port 443: engine's protocol is http, the url protocol
is https

I'm posting my cxf file and one of my interceptors below.
I assume that since my process is started without an application server container, but by a simple windows service and the web service is being
depoyed using Spring, i need to add something else cxf.xml.

In the other postings I see that the keystore needs to be specified in the
cxf.xml etc..
could you point me in the right direction?
Your help is greatly appreciated as I've been battling this for a while now.
Thank you!

My cxf.config file looks like this:

<?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";
        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";>

   <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-extension-http.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-http- jetty.xml"
/>

   <jaxws:endpoint
     id="NotifyNewSearch"
     implementor="com.test.ws.impl.NotifyNewSearchWSImpl"
     address="https://myserver:443/datax/services/NotifyNewSearch"; >
Hi,

You just wanna use http transport with ws-security, right? If so change
address="https://myserver:443/datax/services/NotifyNewSearch";
to
address="http://myserver:443/datax/services/NotifyNewSearch";

Freeman


     <jaxws:inInterceptors>
                <ref bean="RequestInterceptor"/>
<bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
            </jaxws:inInterceptors>
            <jaxws:outInterceptors>
                <ref bean="ResponseInterceptor"/>
<bean class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor"/>
            </jaxws:outInterceptors>
     </jaxws:endpoint>

   <bean name="RequestInterceptorFactory"
class="com.escholar.beans.RequestInterceptor"/>
<bean name="RequestInterceptor" factory- bean="RequestInterceptorFactory"
factory-method="getInstance"/>
   <bean name="ResponseInterceptorFactory"
class="com.escholar.beans.ResponseInterceptor"/>
<bean name="ResponseInterceptor" factory- bean="ResponseInterceptorFactory"
factory-method="getInstance"/>

</beans>

----------------------------

public class HubServerWSS4JInInterceptor extends WSS4JInInterceptor {

        public static HubServerWSS4JInInterceptor getInstance() {

                HubServerWSS4JInInterceptor interceptor = null;
        
                        String keyStoreAlias = getKeyStoreAlias();
                        Log.debug("keyStoreAlias="+keyStoreAlias);
                        
                        Map<String,Object> inProps = new 
HashMap<String,Object>();
                        
                        inProps.put(WSHandlerConstants.ACTION, "Signature 
Encrypt");
                inProps.put(WSHandlerConstants.USER, keyStoreAlias);
                inProps.put(WSHandlerConstants.PW_CALLBACK_CLASS,
HubPasswordCallbackHandler.class.getName());            
                    inProps.put(WSHandlerConstants.SIG_PROP_FILE,
"server_sign.properties");
                    inProps.put(WSHandlerConstants.SIG_KEY_ID, 
"DirectReference");            
                    inProps.put(WSHandlerConstants.DEC_PROP_FILE,
"server_decrypt.properties");
                    inProps.put(WSHandlerConstants.ENC_KEY_ID, 
"X509KeyIdentifier");
                
                    interceptor = new HubServerWSS4JInInterceptor(inProps);
           return interceptor;
        
        
        }

--
View this message in context: 
http://cxf.547215.n5.nabble.com/mismatch-for-port-443-even-with-interceptors-in-cxf-xml-tp4915430p4915430.html
Sent from the cxf-user mailing list archive at Nabble.com.

---------------------------------------------
Freeman Fang

FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com









Reply via email to