⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpsmessagereceiver.java

📁 提供ESB 应用mule源代码 提供ESB 应用mule源代码
💻 JAVA
字号:
/* * $Id: HttpsMessageReceiver.java 11079 2008-02-27 15:52:01Z tcarlson $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.transport.http;import org.mule.api.MuleMessage;import org.mule.api.endpoint.InboundEndpoint;import org.mule.api.lifecycle.CreateException;import org.mule.api.service.Service;import org.mule.api.transport.Connector;import java.io.IOException;import java.net.Socket;import java.security.cert.Certificate;import javax.net.ssl.HandshakeCompletedEvent;import javax.net.ssl.HandshakeCompletedListener;import javax.net.ssl.SSLPeerUnverifiedException;import javax.net.ssl.SSLSocket;import javax.resource.spi.work.Work;public class HttpsMessageReceiver extends HttpMessageReceiver{    public HttpsMessageReceiver(Connector connector, Service service, InboundEndpoint endpoint)            throws CreateException    {        super(connector, service, endpoint);    }    // @Override    protected Work createWork(Socket socket) throws IOException    {        return new HttpsWorker(socket);    }    private class HttpsWorker extends HttpWorker implements HandshakeCompletedListener    {        private Certificate[] peerCertificateChain;        private Certificate[] localCertificateChain;        public HttpsWorker(Socket socket) throws IOException        {            super(socket);            ((SSLSocket) socket).addHandshakeCompletedListener(this);        }        protected void preRouteMessage(MuleMessage message)        {            super.preRouteMessage(message);                        if (peerCertificateChain != null)            {                message.setProperty(HttpsConnector.PEER_CERTIFICATES, peerCertificateChain);            }            if (localCertificateChain != null)            {                message.setProperty(HttpsConnector.LOCAL_CERTIFICATES, localCertificateChain);            }        }        public void handshakeCompleted(HandshakeCompletedEvent event)        {            localCertificateChain = event.getLocalCertificates();            try            {                peerCertificateChain = event.getPeerCertificates();            }            catch (SSLPeerUnverifiedException e)            {                logger.debug("Cannot get peer certificate chain: "+ e.getMessage());            }        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -