本文整理匯總了Java中org.apache.commons.httpclient.HttpMethodBase.getResponseHeader方法的典型用法代碼示例。如果您正苦於以下問題:Java HttpMethodBase.getResponseHeader方法的具體用法?Java HttpMethodBase.getResponseHeader怎麽用?Java HttpMethodBase.getResponseHeader使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.commons.httpclient.HttpMethodBase
的用法示例。
在下文中一共展示了HttpMethodBase.getResponseHeader方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: saveHeader
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Save a header from the given HTTP operation into the
* provider headers under a new name
*
* @param origName header name to get if present
* @param method http operation containing headers
*/
protected void saveHeader(String origName, HttpMethodBase method,
ANVLRecord headers, String newName) {
Header header = method.getResponseHeader(origName);
if(header!=null) {
headers.addLabelValue(newName, header.getValue());
}
}
示例2: getCSVDownload
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Makes a CSV download request and returns the resulting data in a CSVDownloadResponse
*
* Response should be a stream of bytes for a CSV file
*
* @param serviceUrl The URL of an observation and measurements URL (obtained from a getDatasetCollection response)
* @param datasetId The dataset to download
* @return
* @throws Exception
*/
public CSVDownloadResponse getCSVDownload(String serviceUrl, String datasetId) throws Exception {
//This is to workaround some erroneous behaviour from the dataservice
//Where the logged omUrl points to a geoserver instance RATHER than the actual WFS service endpoint
if (!serviceUrl.endsWith("wfs") && !serviceUrl.endsWith("wfs/")) {
log.warn("altering ServiceURL:" + serviceUrl);
if (serviceUrl.endsWith("/")) {
serviceUrl += "wfs";
} else {
serviceUrl += "/wfs";
}
log.warn("altered ServiceURL:" + serviceUrl);
}
//We need to make a normal WFS request with some simple modifications
HttpMethodBase method = wfsMethodMaker.makeGetMethod(serviceUrl, "om:GETPUBLISHEDSYSTEMTSA", (Integer)null, null);
String newQueryString = method.getQueryString() + String.format("&CQL_FILTER=(DATASET_ID='%1$s')&outputformat=csv", datasetId);
method.setQueryString(newQueryString);
InputStream responseStream = httpServiceCaller.getMethodResponseAsStream(method);
Header contentHeader = method.getResponseHeader("Content-Type");
return new CSVDownloadResponse(responseStream, contentHeader == null ? null : contentHeader.getValue());
}
示例3: getResponseAsStringAndHandleGzip
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
public static String getResponseAsStringAndHandleGzip(HttpMethodBase httpget) throws IOException {
Header contentEncodingHeader = httpget.getResponseHeader(CONTENT_ENCODING_HEADER);
InputStream stream = httpget.getResponseBodyAsStream();
if (contentEncodingHeader != null && contentEncodingHeader.getValue().equalsIgnoreCase(GZIP)) {
stream = new GZIPInputStream(stream);
}
String inputStreamString = new Scanner(stream, "UTF-8").useDelimiter("\\A").next();
return inputStreamString;
}
示例4: getResponseHeader
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
protected String getResponseHeader(HttpMethodBase method, String param)
{
Header header = method.getResponseHeader(param);
return (header == null ? null : header.getValue());
}
示例5: getLength
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
protected long getLength(HttpMethodBase method)
{
Header header = method.getResponseHeader("Content-Length");
return Long.parseLong(header.getValue());
}
示例6: getHeader
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
private static String getHeader(HttpMethodBase method, String headerName) {
Header header = method.getResponseHeader(headerName);
return (header == null) ? null : header.getValue().trim();
}
示例7: obtainHTTPHeaderInformation
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Collect the HTTP header information and set them in the message context
*
* @param method HttpMethodBase from which to get information
* @param msgContext the MessageContext in which to place the information... OR NOT!
* @throws AxisFault if problems occur
*/
protected void obtainHTTPHeaderInformation(HttpMethodBase method,
MessageContext msgContext) throws AxisFault {
// Set RESPONSE properties onto the REQUEST message context. They will need to be copied off the request context onto
// the response context elsewhere, for example in the OutInOperationClient.
Map transportHeaders = new CommonsTransportHeaders(method.getResponseHeaders());
msgContext.setProperty(MessageContext.TRANSPORT_HEADERS, transportHeaders);
msgContext.setProperty(HTTPConstants.MC_HTTP_STATUS_CODE, new Integer(method.getStatusCode()));
Header header = method.getResponseHeader(HTTPConstants.HEADER_CONTENT_TYPE);
if (header != null) {
HeaderElement[] headers = header.getElements();
MessageContext inMessageContext = msgContext.getOperationContext().getMessageContext(
WSDLConstants.MESSAGE_LABEL_IN_VALUE);
Object contentType = header.getValue();
Object charSetEnc = null;
for (int i = 0; i < headers.length; i++) {
NameValuePair charsetEnc = headers[i].getParameterByName(
HTTPConstants.CHAR_SET_ENCODING);
if (charsetEnc != null) {
charSetEnc = charsetEnc.getValue();
}
}
if (inMessageContext != null) {
inMessageContext
.setProperty(Constants.Configuration.CONTENT_TYPE, contentType);
inMessageContext
.setProperty(Constants.Configuration.CHARACTER_SET_ENCODING, charSetEnc);
} else {
// Transport details will be stored in a HashMap so that anybody interested can
// retrieve them
HashMap transportInfoMap = new HashMap();
transportInfoMap.put(Constants.Configuration.CONTENT_TYPE, contentType);
transportInfoMap.put(Constants.Configuration.CHARACTER_SET_ENCODING, charSetEnc);
//the HashMap is stored in the outgoing message.
msgContext.setProperty(Constants.Configuration.TRANSPORT_INFO_MAP,
transportInfoMap);
}
}
String sessionCookie = null;
// Process old style headers first
Header[] cookieHeaders = method.getResponseHeaders(HTTPConstants.HEADER_SET_COOKIE);
String customCoookiId = (String) msgContext.getProperty(Constants.CUSTOM_COOKIE_ID);
// process all the cookieHeaders, when load balancer is fronted it may require some cookies to function.
sessionCookie = processCookieHeaders(cookieHeaders);
// Overwrite old style cookies with new style ones if present
cookieHeaders = method.getResponseHeaders(HTTPConstants.HEADER_SET_COOKIE2);
for (int i = 0; i < cookieHeaders.length; i++) {
HeaderElement[] elements = cookieHeaders[i].getElements();
for (int e = 0; e < elements.length; e++) {
HeaderElement element = elements[e];
if (Constants.SESSION_COOKIE.equalsIgnoreCase(element.getName()) ||
Constants.SESSION_COOKIE_JSESSIONID.equalsIgnoreCase(element.getName())) {
sessionCookie = processCookieHeader(element);
}
if(customCoookiId!=null&&customCoookiId.equalsIgnoreCase(element.getName())){
sessionCookie = processCookieHeader(element);
}
}
}
if (sessionCookie != null && !sessionCookie.isEmpty()) {
msgContext.getServiceContext().setProperty(HTTPConstants.COOKIE_STRING, sessionCookie);
}
}
示例8: processResponse
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
protected void processResponse(HttpMethodBase httpMethod,
MessageContext msgContext)
throws IOException {
obtainHTTPHeaderInformation(httpMethod, msgContext);
InputStream in = httpMethod.getResponseBodyAsStream();
if (in == null) {
if (hasResponseBodyForHTTPStatusCode(httpMethod.getStatusCode())) {
throw new AxisFault(Messages.getMessage("canNotBeNull", "InputStream"));
} else {
in = new ByteArrayInputStream("".getBytes());
}
}
Header contentEncoding =
httpMethod.getResponseHeader(HTTPConstants.HEADER_CONTENT_ENCODING);
if (contentEncoding != null) {
if (contentEncoding.getValue().
equalsIgnoreCase(HTTPConstants.COMPRESSION_GZIP)) {
in = new GZIPInputStream(in);
// If the content-encoding is identity we can basically ignore it.
} else if (!"identity".equalsIgnoreCase(contentEncoding.getValue())) {
throw new AxisFault("HTTP :" + "unsupported content-encoding of '"
+ contentEncoding.getValue() + "' found");
}
}
if (httpMethod.getStatusCode() == HttpStatus.SC_ACCEPTED) {
Header contentLength = httpMethod.getResponseHeader(HTTPConstants.HEADER_CONTENT_LENGTH);
boolean acceptedContainsBody = false;
if (in.available() > 0 || (contentLength != null && Integer.parseInt(contentLength.getValue()) > 0)) {
acceptedContainsBody = true;
} else {
Header transferEncoding = httpMethod.getResponseHeader(HTTPConstants.HEADER_TRANSFER_ENCODING);
if (transferEncoding != null && transferEncoding.getValue().equals(
HTTPConstants.HEADER_TRANSFER_ENCODING_CHUNKED)) {
String responseBody = httpMethod.getResponseBodyAsString();
if (responseBody.length() > 0) {
acceptedContainsBody = true;
in = IOUtils.toInputStream(responseBody, "UTF-8");
}
}
}
if (!acceptedContainsBody) {
/*
* For HTTP 202 Accepted code, if the body is empty string then release connection.
*/
httpMethod.releaseConnection();
return;
}
}
OperationContext opContext = msgContext.getOperationContext();
if (opContext != null) {
opContext.setProperty(MessageContext.TRANSPORT_IN, in);
}
}
示例9: handleResponse
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Used to handle the HTTP Response
*
* @param msgContext - The MessageContext of the message
* @param method - The HTTP method used
* @throws IOException - Thrown in case an exception occurs
*/
private void handleResponse(MessageContext msgContext,
HttpMethodBase method) throws IOException {
int statusCode = method.getStatusCode();
HTTPStatusCodeFamily family = getHTTPStatusCodeFamily(statusCode);
log.trace("Handling response - " + statusCode);
Set<Integer>nonErrorCodes = (Set<Integer>) msgContext.getProperty(HTTPConstants.NON_ERROR_HTTP_STATUS_CODES);
Set<Integer> errorCodes = new HashSet<Integer>();
String strRetryErrorCodes = (String) msgContext.getProperty(HTTPConstants.ERROR_HTTP_STATUS_CODES); // Fixing
// ESBJAVA-3178
if (strRetryErrorCodes != null && !strRetryErrorCodes.trim().equals("")) {
for (String strRetryErrorCode : strRetryErrorCodes.split(",")) {
try {
errorCodes.add(Integer.valueOf(strRetryErrorCode));
} catch (NumberFormatException e) {
log.warn(strRetryErrorCode + " is not a valid status code");
}
}
}
if (HTTPStatusCodeFamily.SUCCESSFUL.equals(family)) {
// Save the HttpMethod so that we can release the connection when cleaning up
// HTTP 202 Accepted should support body based on ESBJAVA-4370 as spec does not strictly enforce
// no-entity-body with 202 Accepted response.
msgContext.setProperty(HTTPConstants.HTTP_METHOD, method);
processResponse(method, msgContext);
} else if (!errorCodes.contains(statusCode)
&& (statusCode == HttpStatus.SC_INTERNAL_SERVER_ERROR
|| statusCode == HttpStatus.SC_BAD_REQUEST || statusCode == HttpStatus.SC_CONFLICT)) {
// Save the HttpMethod so that we can release the connection when cleaning up
msgContext.setProperty(HTTPConstants.HTTP_METHOD, method);
Header contenttypeHeader =
method.getResponseHeader(HTTPConstants.HEADER_CONTENT_TYPE);
String value = null;
if (contenttypeHeader != null) {
value = contenttypeHeader.getValue();
}
OperationContext opContext = msgContext.getOperationContext();
if(opContext!=null){
MessageContext inMessageContext =
opContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
if(inMessageContext!=null){
inMessageContext.setProcessingFault(true);
}
}
if (value != null) {
processResponse(method, msgContext);
}
if (org.apache.axis2.util.Utils.isClientThreadNonBlockingPropertySet(msgContext)) {
throw new AxisFault(Messages.getMessage("transportError",
String.valueOf(statusCode),
method.getStatusText()));
}
} else if (nonErrorCodes != null && nonErrorCodes.contains(statusCode)) {
msgContext.setProperty(HTTPConstants.HTTP_METHOD, method);
processResponse(method, msgContext);
return;
} else {
// Since we don't process the response, we must release the connection immediately
method.releaseConnection();
//solving CARBON-16056
msgContext.setProperty(HTTPConstants.MC_HTTP_STATUS_CODE, method.getStatusCode());
AxisFault axisFault = new AxisFault(
Messages.getMessage("transportError", String.valueOf(statusCode), method.getStatusText()),
msgContext);
axisFault.setFaultCode(String.valueOf(method.getStatusCode()));
throw axisFault;
}
}
示例10: getMosaic
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Makes a mosaic request and returns the resulting data in a MosaicResponse object.
*
* @param serviceUrl The URL of the NVCLDataService
* @param logId The logID (from a getLogCollection request) to query
* @param width [Optional] specify the number of column the images are to be displayed
* @param startSampleNo [Optional] the first sample image to be displayed
* @param endSampleNo [Optional] the last sample image to be displayed
* @return
*/
public MosaicResponse getMosaic(String serviceUrl, String logId, Integer width, Integer startSampleNo, Integer endSampleNo) throws Exception {
HttpMethodBase method = methodMaker.getMosaicMethod(serviceUrl, logId, width, startSampleNo, endSampleNo);
InputStream responseStream = httpServiceCaller.getMethodResponseAsStream(method);
Header contentHeader = method.getResponseHeader("Content-Type");
return new MosaicResponse(responseStream, contentHeader == null ? null : contentHeader.getValue());
}
示例11: getPlotScalar
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Makes a plot scalar request and returns the resulting data in a PlotScalarResponse object.
*
* @param serviceUrl The URL of the NVCLDataService
* @param logId The logID (from a getLogCollection request) to query
* @param width [Optional] the width of the image in pixel
* @param height [Optional] the height of the image in pixel
* @param startDepth [Optional] the start depth of a borehole collar
* @param endDepth [Optional] the end depth of a borehole collar
* @param samplingInterval [Optional] the interval of the sampling
* @param graphType [Optional] The type of graph to plot
* @return
*/
public PlotScalarResponse getPlotScalar(String serviceUrl, String logId, Integer startDepth, Integer endDepth, Integer width, Integer height, Double samplingInterval, PlotScalarGraphType graphType) throws Exception {
HttpMethodBase method = methodMaker.getPlotScalarMethod(serviceUrl, logId, startDepth, endDepth, width, height, samplingInterval, graphType);
InputStream responseStream = httpServiceCaller.getMethodResponseAsStream(method);
Header contentHeader = method.getResponseHeader("Content-Type");
return new PlotScalarResponse(responseStream, contentHeader == null ? null : contentHeader.getValue());
}
示例12: getTSGDownload
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Makes a TSG download request and returns the resulting data in a TSGDownloadResponse object.
*
* One of (but not both) datasetId and matchString must be specified
*
* @param serviceUrl The URL of the NVCLDataService
* @param email The user's email address
* @param datasetId [Optional] a dataset id chosen by user (list of dataset id can be obtained thru calling the get log collection service)
* @param matchString [Optional] Its value is part or all of a proper drillhole name. The first dataset found to match in the database is downloaded
* @param lineScan [Optional] yes or no. If no then the main image component is not downloaded. The default is yes.
* @param spectra [Optional] yes or no. If no then the spectral component is not downloaded. The default is yes.
* @param profilometer [Optional] yes or no. If no then the profilometer component is not downloaded. The default is yes.
* @param trayPics [Optional] yes or no. If no then the individual tray pictures are not downloaded. The default is yes.
* @param mosaicPics [Optional] yes or no. If no then the hole mosaic picture is not downloaded. The default is yes.
* @param mapPics [Optional] yes or no. If no then the map pictures are not downloaded. The default is yes.
* @return
*/
public TSGDownloadResponse getTSGDownload(String serviceUrl, String email, String datasetId, String matchString, Boolean lineScan, Boolean spectra, Boolean profilometer, Boolean trayPics, Boolean mosaicPics, Boolean mapPics) throws Exception {
HttpMethodBase method = methodMaker.getDownloadTSGMethod(serviceUrl, email, datasetId, matchString, lineScan, spectra, profilometer, trayPics, mosaicPics, mapPics);
InputStream responseStream = httpServiceCaller.getMethodResponseAsStream(method);
Header contentHeader = method.getResponseHeader("Content-Type");
return new TSGDownloadResponse(responseStream, contentHeader == null ? null : contentHeader.getValue());
}
示例13: checkTSGStatus
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Checks a user's TSG download status
*
* This method will return a HTML stream
*
* @param serviceUrl The URL of the NVCLDataService
* @param email The user's email address
* @return
* @throws Exception
*/
public TSGStatusResponse checkTSGStatus(String serviceUrl, String email) throws Exception {
HttpMethodBase method = methodMaker.getCheckTSGStatusMethod(serviceUrl, email);
InputStream responseStream = httpServiceCaller.getMethodResponseAsStream(method);
Header contentHeader = method.getResponseHeader("Content-Type");
return new TSGStatusResponse(responseStream, contentHeader == null ? null : contentHeader.getValue());
}
示例14: getWFSDownload
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Begins a NVCL data service WFS download
*
* This method will return a HTML stream
*
* @param serviceUrl The URL of the NVCLDataService
* @param email The user's email address
* @param boreholeId selected borehole id (use as feature id for filtering purpose)
* @param omUrl The valid url for the Observations and Measurements WFS
* @param typeName The url parameter for the wfs request
* @return
* @throws Exception
*/
public WFSDownloadResponse getWFSDownload(String serviceUrl, String email, String boreholeId, String omUrl, String typeName) throws Exception {
HttpMethodBase method = methodMaker.getDownloadWFSMethod(serviceUrl, email, boreholeId, omUrl, typeName);
InputStream responseStream = httpServiceCaller.getMethodResponseAsStream(method);
Header contentHeader = method.getResponseHeader("Content-Type");
return new WFSDownloadResponse(responseStream, contentHeader == null ? null : contentHeader.getValue());
}
示例15: checkWFSStatus
import org.apache.commons.httpclient.HttpMethodBase; //導入方法依賴的package包/類
/**
* Checks a user's WFS download status
*
* This method will return a HTML stream
*
* @param serviceUrl The URL of the NVCLDataService
* @param email The user's email address
* @return
* @throws Exception
*/
public WFSStatusResponse checkWFSStatus(String serviceUrl, String email) throws Exception {
HttpMethodBase method = methodMaker.getCheckWFSStatusMethod(serviceUrl, email);
InputStream responseStream = httpServiceCaller.getMethodResponseAsStream(method);
Header contentHeader = method.getResponseHeader("Content-Type");
return new WFSStatusResponse(responseStream, contentHeader == null ? null : contentHeader.getValue());
}