cxf中单向接受服务器端SSL认证功能

重要的URL:
http://old.nabble.com/jaxws-ssl-client-that-accepts-all-certificates-td16826257.html
http://cwiki.apache.org/CXF20DOC/client-http-transport-including-ssl-support.html
第一个是官方wiki,告知添加认证的程序结构,并详细说明了CXF通过configuration支持SSL
第二个告知配置哪个参数
 package com.cxf.client;

import java.util.Iterator;
import java.util.List;

import javax.net.ssl.TrustManager;
import javax.xml.namespace.QName;

import org.apache.cxf.configuration.jsse.TLSClientParameters;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.transport.http.HTTPConduit;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public final class Client {

    private Client() {
    }

    public static void main(String args[]) throws Exception {
        ClassPathXmlApplicationContext context 
            = new ClassPathXmlApplicationContext(new String[] {"com/cxf/client/client-beans.xml"});
        ICardInfoWebService client = (ICardInfoWebService)context.getBean("client");
//-------------------------------------------------------
		org.apache.cxf.endpoint.Client proxy = ClientProxy.getClient(client);
		HTTPConduit conduit = (HTTPConduit) proxy.getConduit(); 
		TLSClientParameters tls= new TLSClientParameters(); 
        tls.setTrustManagers( new TrustManager[]{ new TrustAllX509TrustManager()}); 
    	tcp.setDisableCNCheck(true);//接受服务器端的认证
        conduit.setTlsClientParameters(tcp); 
//-------------------------------------------------------
List<TxnDtlAccountVo> list = client.findTxnDtlAccountInfo(txnDtlAccountVo);
        }
}


配置文件com/cxf/client/client-beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- START SNIPPET: beans -->
<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-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd">

    <bean id="client" class="com.cxf.client.ICardInfoWebService" 
      factory-bean="clientFactory" factory-method="create"/>
	<bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.cxf.client.ICardInfoWebService"/>
<property name="address" value="https://127.0.0.1:8443/manage/services/myWebService"/>
	</bean>
</beans>



http://sanyuesan3.taobao.com/

你可能感兴趣的:(apache,html,xml,.net)