Author: midon
Date: Fri Jul 18 19:42:07 2008
New Revision: 678091
URL: http://svn.apache.org/viewvc?rev=678091&view=rev
Log:
ODE-310: forgot to add some new files
Added:
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/HttpUtils.java
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/StatusCode.java
Modified:
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
Modified:
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java?rev=678091&r1=678090&r2=678091&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
(original)
+++
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpExternalService.java
Fri Jul 18 19:42:07 2008
@@ -298,28 +298,6 @@
replyWithFailure("Unmanaged Status Code! Status-Line: " +
method.getStatusLine() + " for " + method.getURI());
}
- /**
- * For 500s if a fault is defined in the WSDL and the response body
contains the corresponding xml doc, then reply with a fault ; else reply with
failure.
- *
- * @throws IOException
- */
- private void _5xx_serverError() throws Exception {
- String errmsg;
- if (log.isWarnEnabled()) {
- errmsg = "[Service: " + serviceName + ", Port: " + portName +
", Operation: " + operation.getName() + "] Status-Line: " +
method.getStatusLine() + " for " + method.getURI();
- log.warn(errmsg);
- }
- int status = method.getStatusCode();
- if (status == _503_SERVICE_UNAVAILABLE
- || status == _504_GATEWAY_TIMEOUT) {
- // reply with a failure, meaning the request might be repeated
- replyWithFailure("HTTP Status-Line: " + method.getStatusLine()
+ " for " + method.getURI());
- } else {
- // reply with a fault, meaning the request should not be
repeated later
- replyWithFault();
- }
- }
-
private void _4xx_5xx_error() throws Exception {
int status = method.getStatusCode();
if(HttpHelper.isFaultOrFailure(status)>0){
Added:
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/HttpUtils.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/HttpUtils.java?rev=678091&view=auto
==============================================================================
---
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/HttpUtils.java
(added)
+++
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/HttpUtils.java
Fri Jul 18 19:42:07 2008
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ode.utils.http;
+
+import java.util.regex.Pattern;
+
+/**
+ *
+ *
+ */
+public class HttpUtils {
+ public static final String XML_MIME_TYPE_REGEX =
"(text/xml)|(application/xml)|((.*)\\+xml)";
+ public static final String TEXT_MIME_TYPE_REGEX = "text/(?!xml$).*";
+ public static final Pattern XML_MIME_TYPE_PATTERN =
Pattern.compile(XML_MIME_TYPE_REGEX);
+ public static final Pattern TEXT_MIME_TYPE_PATTERN =
Pattern.compile(TEXT_MIME_TYPE_REGEX);
+
+ public static boolean isXml(String contentType) {
+ return XML_MIME_TYPE_PATTERN.matcher(contentType).matches();
+ }
+
+ public static boolean isText(String contentType) {
+ return TEXT_MIME_TYPE_PATTERN.matcher(contentType).matches();
+ }
+
+ /**
+ * Per <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616 section
4.3</a>, some responses can never contain a message
+ * body.
+ *
+ * @param status - the HTTP status code
+ * @return <tt>true</tt> if the message may contain a body, <tt>false</tt>
if it can not
+ * contain a message body
+ */
+ public static boolean bodyAllowed(int status) {
+ if (status >= 100 && status < 200
+ || status == StatusCode._204_NO_CONTENT
+ || status == StatusCode._304_NOT_MODIFIED) {
+ return false;
+ }
+ return true;
+ }
+}
Added:
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/StatusCode.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/StatusCode.java?rev=678091&view=auto
==============================================================================
---
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/StatusCode.java
(added)
+++
ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/http/StatusCode.java
Fri Jul 18 19:42:07 2008
@@ -0,0 +1,107 @@
+package org.apache.ode.utils.http;
+
+import java.util.regex.Pattern;
+
+/**
+ *
+ * <a href="http://www.ietf.org/rfc/rfc2616.txt">HTTP/1.1 Status Codes</a>
+ */
+public class StatusCode {
+
+
+ // --- 1xx Informational ---
+
+ /** <tt>100 Continue</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _100_CONTINUE = 100;
+ /** <tt>101 Switching Protocols</tt> (HTTP/1.1 - RFC 2616)*/
+ public static final int _101_SWITCHING_PROTOCOLS = 101;
+
+ // --- 2xx Success ---
+
+ /** <tt>200 OK</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _200_OK = 200;
+ /** <tt>201 Created</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _201_CREATED = 201;
+ /** <tt>202 Accepted</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _202_ACCEPTED = 202;
+ /** <tt>203 Non Authoritative Information</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _203_NON_AUTHORITATIVE_INFORMATION = 203;
+ /** <tt>204 No Content</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _204_NO_CONTENT = 204;
+ /** <tt>205 Reset Content</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _205_RESET_CONTENT = 205;
+ /** <tt>206 Partial Content</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _206_PARTIAL_CONTENT = 206;
+
+ // --- 3xx Redirection ---
+
+ /** <tt>300 Mutliple Choices</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _300_MULTIPLE_CHOICES = 300;
+ /** <tt>301 Moved Permanently</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _301_MOVED_PERMANENTLY = 301;
+ /** <tt>302 Moved Temporarily</tt> (Sometimes <tt>Found</tt>) (HTTP/1.0 -
RFC 1945) */
+ public static final int _302_MOVED_TEMPORARILY = 302;
+ /** <tt>303 See Other</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _303_SEE_OTHER = 303;
+ /** <tt>304 Not Modified</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _304_NOT_MODIFIED = 304;
+ /** <tt>305 Use Proxy</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _305_USE_PROXY = 305;
+ /** <tt>307 Temporary Redirect</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _307_TEMPORARY_REDIRECT = 307;
+
+ // --- 4xx Client Error ---
+
+ /** <tt>400 Bad Request</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _400_BAD_REQUEST = 400;
+ /** <tt>401 Unauthorized</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _401_UNAUTHORIZED = 401;
+ /** <tt>402 Payment Required</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _402_PAYMENT_REQUIRED = 402;
+ /** <tt>403 Forbidden</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _403_FORBIDDEN = 403;
+ /** <tt>404 Not Found</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _404_NOT_FOUND = 404;
+ /** <tt>405 Method Not Allowed</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _405_METHOD_NOT_ALLOWED = 405;
+ /** <tt>406 Not Acceptable</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _406_NOT_ACCEPTABLE = 406;
+ /** <tt>407 Proxy Authentication Required</tt> (HTTP/1.1 - RFC 2616)*/
+ public static final int _407_PROXY_AUTHENTICATION_REQUIRED = 407;
+ /** <tt>408 Request Timeout</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _408_REQUEST_TIMEOUT = 408;
+ /** <tt>409 Conflict</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _409_CONFLICT = 409;
+ /** <tt>410 Gone</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _410_GONE = 410;
+ /** <tt>411 Length Required</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _411_LENGTH_REQUIRED = 411;
+ /** <tt>412 Precondition Failed</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _412_PRECONDITION_FAILED = 412;
+ /** <tt>413 Request Entity Too Large</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _413_REQUEST_TOO_LONG = 413;
+ /** <tt>414 Request-URI Too Long</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _414_REQUEST_URI_TOO_LONG = 414;
+ /** <tt>415 Unsupported Media Type</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _415_UNSUPPORTED_MEDIA_TYPE = 415;
+ /** <tt>416 Requested Range Not Satisfiable</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _416_REQUESTED_RANGE_NOT_SATISFIABLE = 416;
+ /** <tt>417 Expectation Failed</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _417_EXPECTATION_FAILED = 417;
+
+ // --- 5xx Server Error ---
+
+ /** <tt>500 Server Error</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _500_INTERNAL_SERVER_ERROR = 500;
+ /** <tt>501 Not Implemented</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _501_NOT_IMPLEMENTED = 501;
+ /** <tt>502 Bad Gateway</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _502_BAD_GATEWAY = 502;
+ /** <tt>503 Service Unavailable</tt> (HTTP/1.0 - RFC 1945) */
+ public static final int _503_SERVICE_UNAVAILABLE = 503;
+ /** <tt>504 Gateway Timeout</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _504_GATEWAY_TIMEOUT = 504;
+ /** <tt>505 HTTP Version Not Supported</tt> (HTTP/1.1 - RFC 2616) */
+ public static final int _505_HTTP_VERSION_NOT_SUPPORTED = 505;
+
+}