AS2RequestAdaptor.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:hermes 作者:
/**
 * processRequest
 * @param request
 * @param response
 * @return String
 * @throws RequestListenerException
 * @see hk.hku.cecid.piazza.commons.servlet.http.HttpRequestListener#processRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
 */
public String processRequest(HttpServletRequest request,
        HttpServletResponse response) throws RequestListenerException {
    try {
        Headers headers = new Headers(request, response);

        InternetHeaders requestHeaders = headers.getInternetHeaders();
        InputStream requestStream = request.getInputStream();
        AS2Message requestMessage = new AS2Message(requestHeaders, requestStream);

        if (requestMessage.getFromPartyID() == null || requestMessage.getToPartyID() == null) {
            response.sendError(HttpURLConnection.HTTP_BAD_REQUEST, "Invalid AS2 Message");
            return null;
        }

        AS2Request as2request = new AS2Request(request);
        as2request.setMessage(requestMessage);
        AS2Response as2response = new AS2Response(response);

        processRequest(as2request, as2response);

        AS2Message responseMessage = as2response.getMessage();
        if (responseMessage == null) {
            return null;
        }

        InternetHeaders responseHeaders = responseMessage.getHeaders();
        headers.putInternetHeaders(responseHeaders);

        InputStream contentStream= responseMessage.getContentStream();
        OutputStream responseStream= response.getOutputStream();
        IOHandler.pipe(contentStream, responseStream);

        return null;
    }
    catch (Exception e) {
        throw new RequestListenerException("Error in processing AS2 request", e);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号